117.JSTL之fmt标签日期和数字格式化

参考文档:

https://www.cnblogs.com/mingforyou/p/4476564.html

 

1. 格式化数字

1.1 效果

100326_nIIg_3015807.png

1.2 代码

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>使用format标签格式化数字</title>
    </head>
<body>
    <table border=1 cellpadding="0" cellspacing="0" align="center">
        <tr align="center">
            <td width="100">类型</td>
            <td width="100">使用数据</td>
            <td width="100">结果</td>
            <td width="300">说明</td>
        </tr>
        <tr>
            <td>数字格式化</td>
            <td>108.75</td>
            <td><fmt:formatNumber type="number" pattern="###.#">108.75</fmt:formatNumber>
            </td>
            <td>使用pattern可以定义显示的样式。本例设定为###.#小数部分将使用四舍五入法。</td>
        </tr>
        <tr>

            <td>数字格式化</td>
            <td>9557</td>
            <td><fmt:formatNumber type="number" pattern="#.####E0">9557</fmt:formatNumber>
            </td>
            <td>使用科学计数法。</td>
        </tr>
        <tr>
            <td>数字格式化</td>
            <td>9557</td>
            <td><fmt:formatNumber type="number">9557</fmt:formatNumber></td>
            <td>使用默认分组。</td>
        </tr>

        <tr>
            <td>数字格式化</td>
            <td>9557</td>
            <td><fmt:formatNumber type="number" groupingUsed="false">9557</fmt:formatNumber>
            </td>
            <td>不使用分组。</td>
        </tr>
        <tr>
            <td>数字格式化</td>
            <td>9557</td>
            <td><fmt:formatNumber type="number" maxIntegerDigits="3">9557</fmt:formatNumber>
            </td>
            <td>使用位数限定,根据指定的位数显示,其他数字忽略。例如:9不被显示。</td>
        </tr>
        <tr>
            <td>百分比格式化</td>
            <td>0.98</td>
            <td><fmt:formatNumber type="percent">0.98</fmt:formatNumber></td>
            <td>用百分比形式显示一个数据。</td>
        </tr>
        <tr>
            <td>货币格式化</td>
            <td>188.88</td>
            <td><fmt:formatNumber type="currency">188.8</fmt:formatNumber></td>
            <td>将一个数据转化为货币形式输出。</td>
        </tr>

        <tr>
            <td>存储数据</td>
            <td>188.88</td>
            <td><fmt:formatNumber type="currency" var="money">188.8</fmt:formatNumber>
                ${money}</td>
            <td>存储的money的值为${money}</td>
        </tr>
    </table>
    <%--
(1)从应用角度可以把属性分为三类:数字格式化、货币格式化、百分比格式化。使用type指定类型。
(2)应用于数字格式化的属性有:partten属性、maxIntegerDigits属性、minIntegerDigits属性、maxFractionDigits属性和minFactionDigits属性。其中partten属性在设定格式化样式时会比较准确如:四舍五入、科学计数法的使用。而使用maIntegerDirgits等属性时,只把设定位数以外的数字舍去。
(3)货币格式化可以使用数字格式化的所有属性。如果有必要建议使用partten属性。currencyCode属性和currencySymbol只用于货币格式化。
(4)百分比格式化使用到的属性为type属性、partten属性,设定type属性的类型为percent即可。
(5)使用var属性时,会将格式化后的值存在JSP的某个范围内(一个String类型的字符串包括符号等)。<frm:forNumber>将不再输出格式化后的值可以使用EL表达式输出。
(6)通用属性:type属性、partten属性、var属性和scope属性。
--%>
</body>
</html>

2.处理日期

2.1 效果

112216_iEFp_3015807.png

2.2 代码

<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
    <%
        pageContext.setAttribute("date",new Date());
%>
    
        <fmt:formatDate value="${date}"></fmt:formatDate>
        <br>

        <fmt:formatDate value="${date}" type="both"></fmt:formatDate>
        <br>

        <fmt:formatDate value="${date}" type="both" dateStyle="default"
            timeStyle="default"></fmt:formatDate>
        <br>

        <fmt:formatDate value="${date}" type="both" dateStyle="short"
            timeStyle="short"></fmt:formatDate>
        <br>

        <fmt:formatDate value="${date}" type="both" dateStyle="long"
            timeStyle="long"></fmt:formatDate>
        <br>

        <fmt:formatDate value="${date}" type="both" dateStyle="full"
            timeStyle="full"></fmt:formatDate>
        <br>

        <fmt:formatDate value="${date}" type="both" dateStyle="full"
            timeStyle="full"></fmt:formatDate>
        <br>
        <%--
        1)对日期对象进行格式化时${date}是一个日期对象,如果给value设的值为String时程序会报错。

        2)设置type为both时,将显示日期和时间,同时示例中依次改变dateStyle和timeStyle的值作为比较。
        --%>
</body>
</html>

 

转载于:https://my.oschina.net/springMVCAndspring/blog/1819803

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值