0

在 jstl 货币中使用http://java.sun.com/jsp/jstl/fmt

标签包含如下:<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>

我们使用 as

<fmt:formatNumber maxFractionDigits="0" currencySymbol="$" type="currency" value="${employeeDetail.employee.annualSalary }" />


Now behavior is :

Ex: $470.161 is round to $470.16)
Ex: $470.165 is round to $470.16)
Ex: $470.166 is round to $470.17)

what is expected uis
Ex: $470.161 is round to $470.16)
Ex: $470.165 is round to $470.17)
Ex: $470.166 is round to $470.17)

有什么方法可以设置RoundingMode.HALF_UP吗?

覆盖 [jstl fmt 标签库] 的默认行为并支持舍入模式的任何方式。

4

1 回答 1

0

你可以让标准formatNumber标签以不同的方式对数字进行四舍五入吗?阿法克,不。

但您可以执行以下操作之一:

  • 您可以将value属性更改为使用函数首先舍入值的表达式;例如,如何在 JSP/EL 中调用静态方法?

  • 您可以创建一个自定义 Tag 来扩展现有 Tag 类并以不同方式进行舍入。障碍是:

    • 实际的标记类(及其名称)取决于您使用的 JSTL 的实现。因此,您的自定义 Tag 类同样将绑定到特定的 JSTL 实现。

    • 现有的标签类实现可能不适合扩展。

于 2013-10-25T13:44:06.723 回答