• fmt:formatNumber use locale display negative currency in -$xxx.xx format in JSTL


    First, we want to know our own locale,how to display the locale in a JSTL?

    <c:out value="${pageContext.request.locale.language}"/> 
    


    I'm confused with the jstl tag libs:

    I want to format a number to a currency with german style

    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
    <html>
    <head>
        <title>format number</title>
    </head>
    <body>
        <c:set var="val" value="40.52" />
        <p> Currency in USA
        <fmt:setLocale value="en_US" scope="session"/>
    
        <fmt:formatNumber value="${val}" type="currency" />
        </p>
        <p>Currency in Germany
        <fmt:setLocale value="de_DE" scope="session"/>
    
        <fmt:formatNumber value="${val}" type="currency"/>
        </p>
    </body>
    </html>

    And thats the output:
    Currency in USA $40.52
    Currency in Germany 40,52 



    I am using fmt:formatNumber to format currency in JSTL, it will display negative currency in ($100) format, if you want to make it display negative currency in negative format instead of ($100).

    I would suggest:

    <fmt:formatNumber type="currency" pattern="$#,##0.00;-$#,##0.00" value="-10000" />

    You can remove '$' from the pattern, if you like.


    order example:

    <c:set  var="val"  value="46563746375"/>
    <fmt:formatNumber  value="${val}"  pattern="###.###E0"/>

    If you run the above code you will see the number is formatted as the pattern which is 46.5637E9 .



  • 相关阅读:
    ActiveMQ持久化消息
    JAXB XML到java object的转换
    Jackson JSON Processor
    Spring JDBC入门
    Quatz入门
    Jersey 入门与Javabean
    记安装ubuntu server和一些程序
    libevent 入门教程:Echo Server based on libevent(转)
    Linux Eclipse 运行Protobuf
    精神状态: Confused
  • 原文地址:https://www.cnblogs.com/molashaonian/p/7242022.html
Copyright © 2020-2023  润新知