【发布时间】:2010-08-12 07:14:19
【问题描述】:
我正在使用 grails formatNumber,我想以十进制格式显示我的数字。
我想将 10 显示为 10.00 或 0 为 0.00,带 2 个小数位。
怎么做?
【问题讨论】:
标签: java grails string-formatting
我正在使用 grails formatNumber,我想以十进制格式显示我的数字。
我想将 10 显示为 10.00 或 0 为 0.00,带 2 个小数位。
怎么做?
【问题讨论】:
标签: java grails string-formatting
我相信您正在寻找如何使用 Grails 的 formatNumber 标记来实现此目的
<g:formatNumber number="${10}" format="0.00"/>
<g:formatNumber number="${0}" format="0.00"/>
结果
10.00
0.00
formatNumber 标记使用DecimalFormat 作为format 参数
【讨论】:
Java 5?
String.format("%.2f", (double)value);
Java 4?
new BigDecimal(value).scale(2, RoundingMode.ROUND_HALF_UP).toString();
(凭记忆,可能有错别字)
【讨论】:
或者使用NumberFormat的方式:
NumberFormat formatter = new DecimalFormat("0.00");
Assert.assertEquals("10.00", formatter.format(10));
Assert.assertEquals("0.00", formatter.format(0));
Assert.assertEquals("0.10", formatter.format(0.1));
使用 Junit 断言。
查看documentation for DecimalFormat,了解如何为构造函数创建格式化字符串。
【讨论】:
您应该按照 grails docu 中的描述使用它
<g:formatNumber number="${value}" minFractionDigits="2"/>
【讨论】: