formatNumber:如何在数字后面添加2位小数?

时间:2010-08-12 07:14:19

标签: java grails string-formatting

我正在使用grails formatNumber,我想以十进制格式显示我的数字。

我想将10显示为10.00 或0为0.00,带有2位十进制数字。

怎么做?

4 个答案:

答案 0 :(得分:9)

我相信您正在寻找如何使用Grails'formatNumber标记

执行此操作
<g:formatNumber number="${10}" format="0.00"/>
<g:formatNumber number="${0}" format="0.00"/>

结果

10.00
0.00

formatNumber代码使用DecimalFormat作为format参数

答案 1 :(得分:5)

Java 5?

 String.format("%.2f", (double)value);

Java 4?

 new BigDecimal(value).scale(2, RoundingMode.ROUND_HALF_UP).toString();

(从内存中,可能包含拼写错误)

答案 2 :(得分:3)

或使用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,了解如何为构造函数创建格式化字符串。

答案 3 :(得分:0)

您应该使用grails docu

中描述的内容
   <g:formatNumber number="${value}" minFractionDigits="2"/>