Thymeleaf - 只有两个十进制数的格式化百分比

时间:2016-10-20 08:47:41

标签: java formatting thymeleaf percentage bigdecimal

我正在尝试使用Thymeleaf格式化百分比。 但是,如果像99.99这样的百分比,百万美元将这个值格式化为100.我不想要它。

我这样做了:

Java方

BigDecimal percentage = (a).multiply(new BigDecimal(100)).divide(b, 3, RoundingMode.HALF_DOWN);

麝香草方

th:text="${#numbers.formatDecimal(percentage, 1, 'POINT', 2, 'COMMA')}"

如果百分比是99.99,那么Thymeleaf给我100.00

为什么?

1 个答案:

答案 0 :(得分:0)

这是因为Java端的percentage scale值大于Thymeleaf端的decimalDigits

尝试将其设置为相同的值(为2):

BigDecimal percentage = (a).multiply(new BigDecimal(100)).divide(b, 2, RoundingMode.HALF_DOWN);

而且,如果您仅使用percentage字段来显示百分比,我认为您不需要thousandsPointType参数(在您的情况下为'POINT'),因为它的价值永远不会超过100。