我希望在小数点后面有一个格式为2位小数的BigDecimal。总是
基于一些布尔检查,我有时会返回一个BigDecimal.ZERO;
在这种情况下,虽然我设置了<f:convertNumber minFractionDigits="2" maxFractionDigits="2"/>
。
我不明白这一点,但是我怎么能强制执行2位数呢?
答案 0 :(得分:8)
有两种方法可以做到这一点
您可以使用内置的BigDecimal
功能
myBigDecimal.SetScale(2, RoundingMode.HALF_UP);
这会返回一个大小的十进制数,超过小数后的2位数,也会向上舍入。(还有其他舍入方法)
OR
你可以使用jsf convertNumber Tag
<f:convertNumber maxFractionDigits="2" minFractionDigits="2" />
答案 1 :(得分:1)
尝试格式化这样的数字:
<h:outputText value="#{myBean.bd1}">
<f:convertNumber pattern="0.00" />
</h:outputText>
注意:请注意接受答案中有关四舍五入的警告。
答案 2 :(得分:0)
试试这个
<af:convertNumber maxIntegerDigits="3" maxFractionDigits="2" minFractionDigits="2" pattern="###.##" />