如何使用带 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】:

您是否尝试将 typenumber 更改为 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的主要内容,如果未能解决你的问题,请参考以下文章

使用javascript显示带小数的文本框的计算[关闭]

如何使用带小数的currencyFormatter

如何限制UITextField中的小数点数?

如何在MATLAB中实现小数点后保留2位。急!!!!!!

如何让excel饼图的百分比带两位小数

math.trunc() 返回带小数的值