gpt4 book ai didi

java - 为什么 JSTL 使用 ${dollarAmount} 将 double 值 99 输出为 99.0(而不是 99.00)?

转载 作者:行者123 更新时间:2023-12-02 01:34:25 24 4
gpt4 key购买 nike

我有一个doubledollarAmount其值为 99 :

double dollarAmount = 99;

当我尝试使用此代码将其输出到我的页面时:

<c:out value="${dollarAmount}"/>

结果为99.0 .

因为它代表财务值(value),所以我想将其输出为

99

或作为

99.00

有什么办法强制<c:out>来做到这一点?

最佳答案

Why does JSTL output a double value of 99 as 99.0

将后端数据打印到 HTML 响应时,所有非字符串 java 对象默认转换为 String 。 HTML 不能以其他方式表示。您正在看到99.0 ,因为这是 Double#toString(double) 的默认结果。格式按照documentation .

要格式化货币,最好使用 <fmt formatNumber> 谁的type设置为currency .

<fmt:formatNumber value="${dollarAmount}" type="currency" currencySymbol="$" />

它将显示为

$99.00

关于java - 为什么 JSTL 使用 ${dollarAmount} 将 double 值 99 输出为 99.0(而不是 99.00)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5706650/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com