BigDecimal с двумя дробями после десятичной точки? - PullRequest
4 голосов
/ 23 февраля 2012

Я бы хотел отформатировать BigDecimal с двумя десятичными знаками после запятой.Всегда.

На основании некоторых логических проверок я иногда возвращаю BigDecimal.ZERO;В этом случае на странице JSF просто отображается «0», хотя я установил <f:convertNumber minFractionDigits="2" maxFractionDigits="2"/>.

Я не понимаю этого, но, тем не менее, как я могу применить еще 2 цифры?

Ответы [ 3 ]

8 голосов
/ 23 февраля 2012

есть 2 способа сделать это

Вы можете использовать встроенную функцию BigDecimal

myBigDecimal.SetScale(2, RoundingMode.HALF_UP);

Возвращает большое десятичное число с двумя цифрами после десятичного, а также округление (есть и другие методы округления)

ИЛИ

вы можете использовать jsf convertNumber Tag

<f:convertNumber maxFractionDigits="2" minFractionDigits="2" />
1 голос
/ 23 февраля 2012

Попробуйте отформатировать число следующим образом:

    <h:outputText value="#{myBean.bd1}">
        <f:convertNumber pattern="0.00" />
    </h:outputText>

Примечание: Обратите также внимание на предупреждения относительно округления в принятом ответе.

0 голосов
/ 17 января 2017

Попробуйте это

<af:convertNumber maxIntegerDigits="3" maxFractionDigits="2"   minFractionDigits="2" pattern="###.##" />
...