JSTL fmt:formatNumber日期、 数字、货币格式化

使用<fmt>标签应先导入

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

其uri可在fmt.tld文件下

 

1、日期格式化

<fmt:formatDate value=“${XXX.date}” pattern=“yyyy-MM-dd HH:mm:ss”/>

 

value:要格式化的日期

pattern:日期格式化的格式

 2、数字格式化

<fmt:formatNumber value="12" type="currency" pattern="$.00"/> -- $12.00

 <fmt:formatNumber value="12" type="currency" pattern="$.0#"/> -- $12.0

 <fmt:formatNumber value="1234567890" type="currency"/> -- $1,234,567,890.00(那个货币的符号和当前web服务器的 local 设定有关)

 <fmt:formatNumber value="123456.7891" pattern="#,#00.0#"/> -- 123,456.79

 <fmt:formatNumber value="123456.7" pattern="#,#00.0#"/> -- 123,456.7

 <fmt:formatNumber value="123456.7" pattern="#,#00.00#"/> -- 123,456.70

 <fmt:formatNumber value="12" type="percent" /> -- 1,200% (type 可以是currency、 number、 和percent)

 

 

 

1.java格式化输出:

DecimalFormat df = new DecimalFormat("格式");
String fmt =df.format(double);
符号                  意义
0                     一个数位
#                     一个数位,前导零和追尾零不显示
.                      小数点分割位置
,                     组分隔符的位置
-                      负数前缀
%                    用100乘,并显示百分号
其他任何符号    在输出字符串中包括指定符号

 

2.编程实现固定文本的国际化

ResourceBundle类提供了一个静态方法getBundle,该方法用于装载资源文件,并创建ResourceBundle实例:

                 Locale currentLocale = Locale.getDefault();

                  ResourceBundle myResources =

              ResourceBundle.getBundle(basename, currentLocale);

•         basename为资源包基名(且必须为完整路径)。

代码如下:

<%
        ResourceBundle bundler =
            ResourceBundle.getBundle("class3g.web.properties.MyProperties",
                   request.getLocale());
     %>
  
     <form>
         <%=bundler.getString("username") %><input type="text" name="username" /><br/>
         <%=bundler.getString("password") %><input type="text" name="password" /><br/>
         <input type="submit" value="<%=bundler.getString("submit") %>" /><br/>
     </form>
    
     <!--
      <fmt:setBundle basename="class3g.web.properties.MyProperties"/>
     -->
     <fmt:bundle basename="class3g.web.properties.MyProperties">
  
     <form>
         <fmt:message key="username" /><input type="text" name="username" /><br/>
         <fmt:message key="password" /> <input type="text" name="password" /><br/>
         <input type="submit" value="<fmt:message key="submit" />" /><br/>
     </form>  
     </fmt:bundle>

当前时间的三种表现形式如下:<br><br>

       

       (1):<fmt:formatDate value="<%=new Date() %>" type="date"/><br><br>

      

       (2):<fmt:formatDate value="<%=new Date() %>" type="time"/><br><br>

      

       (3):<fmt:formatDate value="<%=new Date() %>" type="both"/>