formatNumber: как добавить 2 десятичных знака в конце чисел? - PullRequest
3 голосов
/ 12 августа 2010

Я использую grails formatNumber, и я хотел бы отобразить мои числа в десятичном формате.

Я хотел бы отобразить 10 как 10,00 или 0 как 0,00 с 2 десятичными цифрами.

как это сделать?

Ответы [ 4 ]

9 голосов
/ 12 августа 2010

Я полагаю, что вы искали, как это сделать с помощью formatNumber тега Grails

<g:formatNumber number="${10}" format="0.00"/>
<g:formatNumber number="${0}" format="0.00"/>

Результаты в

10.00
0.00

Тег formatNumber использует DecimalFormat для параметра format

5 голосов
/ 12 августа 2010

Java 5?

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

Java 4?

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

(из памяти может содержать опечатки)

3 голосов
/ 12 августа 2010

Или используя 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.

Посмотрите документацию для DecimalFormat, как создать строку форматирования для конструктора.

0 голосов
/ 26 мая 2016

Вы должны использовать его так, как описано в Grails Документ

   <g:formatNumber number="${value}" minFractionDigits="2"/>
...