我正在尝试使用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
为什么?
答案 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。