【问题标题】:Why the JSTL format Number pattern #00.00 doesn't show $0.00 but shows $1,356.00?为什么 JSTL 格式的数字模式 #00.00 不显示 $0.00 而是显示 $1,356.00?
【发布时间】:2017-01-12 12:02:02
【问题描述】:

以下是JSP中使用的一段代码

<fmt:formatNumber value="${A.B}" pattern="$#,###.00" />

Java 服务器端的数据类型是 BigDecimal。如果该值不为零,则它会正确显示。但只有当它是 0.00 时,它才会显示为 $.00

这是为什么呢? 如何解决?

【问题讨论】:

    标签: java jsp jstl


    【解决方案1】:

    使用0 代替# 作为第一位数字:

    <fmt:formatNumber value="${A.B}" pattern="$#,##0.00" />
    

    或者您可以使用currency 格式化程序:

    <fmt:formatNumber value="${A.B}" type="currency" />
    

    【讨论】:

    • 但是如果我使用 0 作为第一位而不是 # 并且如果第一位的实际值非零(比如 $1.00),它会起作用吗?
    • @user3705478 它适用于十进制数字吗?你为什么不试试? :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-15
    • 2011-11-21
    • 1970-01-01
    • 2019-08-11
    • 1970-01-01
    • 2017-05-15
    相关资源
    最近更新 更多