在Thymeleaf,如果存在零,有没有办法打印货币而不会尾随零?
例如:
$49.20 --> $49.20
和
$49.00 --> $49
我想象的是:#numbers.formatCurrency(abc.value, removeTrailingZeros)
这是一种方式:
$<span th:text="${#numbers.formatDecimal(value, 0, T(Math).round(value) == value ? 0 : 2)}" />
(我可能更喜欢为此添加一个getter,或者某种实用方法。)
--
如果您仍然只想使用formatCurrency
,这个解决方案怎么样:
${#strings.replace(#numbers.formatCurrency(abc.value), '.00', '')}
当你想在某些情况下保留零时使用这种复杂的格式,在其他情况下删除它们并显示$$而不是$ - 也许有意义的是制作自定义格式化程序bean并调用类似的方法
${@myFormatterBean.customFormat(abc.value)}
您将能够控制所有格式。