【问题标题】:How to use fmt:formatNumber with 2 decimal如何使用带 2 个小数的 fmt:formatNumber
【发布时间】: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

请给我一个解决方案。

谢谢

【问题讨论】:

  • 到目前为止您尝试过什么?我们可以看看你的代码吗?
  • 对不起。我正在添加我的代码。请帮我。谢谢

标签: format jstl number-formatting


【解决方案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 位数字不再适用于这种方法,
猜你喜欢
  • 1970-01-01
  • 2014-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多