如何使用带 2 个小数的 fmt:formatNumber
Posted
技术标签:
【中文标题】如何使用带 2 个小数的 fmt:formatNumber【英文标题】:How to use fmt:formatNumber with 2 decimal 【发布时间】:2018-09-27 08:16:57 【问题描述】:我的值为 6666666666666666.6 并使用 fmt:formatNumber 在 jsp(jstl) 上进行格式化
<fmt:formatNumber type="NUMBER"
minFractionDigits="2"
maxFractionDigits="2"
value="6666666666666666.6"/>
显示结果:6,666,666,666,666,667.00
预期结果:6,666,666,666,666,666.60
请给我一个解决方案。
谢谢
【问题讨论】:
到目前为止您尝试过什么?我们可以看看你的代码吗? 对不起。我正在添加我的代码。请帮我。谢谢 【参考方案1】:您是否尝试将 type 从 number
更改为 currency
?
<fmt:formatNumber type="CURRENCY"
minFractionDigits="2"
maxFractionDigits="2"
value="6666666666666666.6"/>
【讨论】:
为什么要使用货币来格式化常规数字?【参考方案2】:<c:set var="N-15-digits" value=$666,666,666,666,666.6/>
<c:set var="N-16-digits" value=$6,666,666,666,666,666.6/>
<fmt:formatNumber value="$N-(0.1-(N%0.1))%0.1" type="number" minFractionDigits="2"/>
此解决方案总是显示不四舍五入如果输入值低于 16 位,结果比较在下面。
将显示 N-15 位数字
666,666,666,666,666.60
将显示 N-16 位数字
6,666,666,666,666,667.00
【讨论】:
意思是这个问题不能解决吗? @IfElse 仍然需要弄清楚为什么超过 16 位数字不再适用于这种方法,以上是关于如何使用带 2 个小数的 fmt:formatNumber的主要内容,如果未能解决你的问题,请参考以下文章