使用JSTL的格式编号,没有舍入

时间:2012-11-01 10:33:05

标签: java jstl number-formatting

我需要使用<fmt:formatNumber/> jstl标记格式化数字。输出应限制在小数点后3位,但不允许舍入,因此使用属性maxFractionDigits="3"是不合适的,因为它会对数字进行舍入。

你有什么建议吗?

2 个答案:

答案 0 :(得分:6)

您可以在格式化之前从数字中减去0.0005。这样,舍入将相当于将原始数字截断为3位小数。

<fmt:formatNumber value="${myNumber - 0.0005}" maxFractionDigits="3"/>

答案 1 :(得分:2)

设计自己的标记或EL函数,在格式化之前截断数字。或者只是设计一个截断数字的标签或函数,并将结果传递给<fmt:formatNumber/>。像

这样的东西
<fmt:formatNumber value="${myFn:truncate(theNumber, 3)"/>