JSTL <fmt:formatNumber>

来源:互联网 发布:sql server数据类型 编辑:程序博客网 时间:2024/05/19 04:04

<fmt:formatNumber>标签用于格式化数字,百分比,货币。

属性

<fmt:formatNumber>标签有如下属性:

属性描述是否必要默认值value要显示的数字是无typeNUMBER,CURRENCY,或 PERCENT类型否Numberpattern指定一个自定义的格式化模式用与输出否无currencyCode货币码(当type="currency"时)否取决于默认区域currencySymbol货币符号 (当 type="currency"时)否取决于默认区域groupingUsed是否对数字分组 (TRUE 或 FALSE)否truemaxIntegerDigits整型数最大的位数否无minIntegerDigits整型数最小的位数否无maxFractionDigits小数点后最大的位数否无minFractionDigits小数点后最小的位数否无var存储格式化数字的变量否Print to pagescopevar属性的作用域否page

如果type属性为percent或number,那么您就可以使用其它几个格式化数字属性。maxIntegerDigits属性和 minIntegerDigits属性允许您指定整数的长度。若实际数字超过了maxIntegerDigits所指定的最大值,则数字将会被截断。

有一些属性允许您指定小数点后的位数。minFractionalDigits属性和maxFractionalDigits属性允许您指定小数点后的位数。若实际的数字超出了所指定的范围,则这个数字会被截断。

数字分组可以用来在每三个数字中插入一个逗号。groupingIsUsed属性用来指定是否使用数字分组。当与minIntegerDigits属性一同使用时,就必须要很小心地来获取预期的结果了。

您或许会使用pattern属性。这个属性可以让您在对数字编码时包含指定的字符。接下来的表格中列出了这些字符。

符号描述0代表一位数字E使用指数格式#代表一位数字,若没有则显示0.小数点,数字分组分隔符;分隔格式-使用默认负数前缀%百分数?千分数¤货币符号,使用实际的货币符号代替X指定可以作为前缀或后缀的字符'在前缀或后缀中引用特殊字符

 

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %><html><head>  <title>JSTL fmt:formatNumber Tag</title></head><body><h3>Number Format:</h3><c:set var="balance" value="120000.2309" /><p>Formatted Number (1): <fmt:formatNumber value="${balance}"             type="currency"/></p><p>Formatted Number (2): <fmt:formatNumber type="number"             maxIntegerDigits="3" value="${balance}" /></p><p>Formatted Number (3): <fmt:formatNumber type="number"             maxFractionDigits="3" value="${balance}" /></p><p>Formatted Number (4): <fmt:formatNumber type="number"             groupingUsed="false" value="${balance}" /></p><p>Formatted Number (5): <fmt:formatNumber type="percent"             maxIntegerDigits="3" value="${balance}" /></p><p>Formatted Number (6): <fmt:formatNumber type="percent"             minFractionDigits="10" value="${balance}" /></p><p>Formatted Number (7): <fmt:formatNumber type="percent"             maxIntegerDigits="3" value="${balance}" /></p><p>Formatted Number (8): <fmt:formatNumber type="number"             pattern="###.###E0" value="${balance}" /></p><p>Currency in USA :<fmt:setLocale value="en_US"/><fmt:formatNumber value="${balance}" type="currency"/></p></body></html>
NUMBER FORMAT:Formatted Number (1): £120,000.23Formatted Number (2): 000.231Formatted Number (3): 120,000.231Formatted Number (4): 120000.231Formatted Number (5): 023%Formatted Number (6): 12,000,023.0900000000%Formatted Number (7): 023%Formatted Number (8): 120E3Currency in USA : $120,000.23

<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)。

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

数字用例:<fmt:formatNumber value="${order.orderAmount}" minFractionDigits="2"/>元

--------------------------------------时间格式 ----------------------------------------------------

jakarta-taglibs-standard-1.1.2

/lib---jstl.jar、standard.jar

/tld---fmt.tld

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

 

 

fmt:formatDate 的输出格式


<fmt:formatDate value="${isoDate}" type="both"/>
2004-5-31 23:59:59


<fmt:formatDate value="${date}" type="date"/>
2004-4-1

<fmt:formatDate value="${isoDate}" type="time"/>
23:59:59

<fmt:formatDate value="${isoDate}" type="date" dateStyle="default"/>
2004-5-31

<fmt:formatDate value="${isoDate}" type="date" dateStyle="short"/>
04-5-31

<fmt:formatDate value="${isoDate}" type="date" dateStyle="medium"/>
2004-5-31

<fmt:formatDate value="${isoDate}" type="date" dateStyle="long"/>
2004年5月31日

<fmt:formatDate value="${isoDate}" type="date" dateStyle="full"/>
2004年5月31日 星期一

<fmt:formatDate value="${isoDate}" type="time" timeStyle="default"/>
23:59:59

<fmt:formatDate value="${isoDate}" type="time" timeStyle="short"/>
下午11:59

<fmt:formatDate value="${isoDate}" type="time" timeStyle="medium"/>
23:59:59

<fmt:formatDate value="${isoDate}" type="time" timeStyle="long"/>
下午11时59分59秒

<fmt:formatDate value="${isoDate}" type="time" timeStyle="full"/>
下午11时59分59秒 CDT

<fmt:formatDate value="${date}" type="both" pattern="EEEE, MMMM d, yyyy HH:mm:ss Z"/>
星期四, 四月 1, 2004 13:30:00 -0600

<fmt:formatDate value="${isoDate}" type="both" pattern="d MMM yy, h:m:s a zzzz/>
31 五月 04, 11:59:59 下午 中央夏令时

 

<fmt:formatDate value="${question.questiondate}" type="time" timeStyle="full" pattern ="yyyy-MM-dd HH:mm"/>

2009-01-11 00:28

---------------------------------------------------------------------

 

格式模式

d 月中的某一天。一位数的日期没有前导零。
dd 月中的某一天。一位数的日期有一个前导零。
ddd 周中某天的缩写名称,在 AbbreviatedDayNames 中定义。
dddd 周中某天的完整名称,在 DayNames 中定义。
M 月份数字。一位数的月份没有前导零。
MM 月份数字。一位数的月份有一个前导零。
MMM 月份的缩写名称,在 AbbreviatedMonthNames 中定义。
MMMM 月份的完整名称,在 MonthNames 中定义。
y 不包含纪元的年份。如果不包含纪元的年份小于 10,则显示不具有前导零的年份。
yy 不包含纪元的年份。如果不包含纪元的年份小于 10,则显示具有前导零的年份。
yyyy 包括纪元的四位数的年份。
gg 时期或纪元。如果要设置格式的日期不具有关联的时期或纪元字符串,则忽略该模式。
h 12 小时制的小时。一位数的小时数没有前导零。
hh 12 小时制的小时。一位数的小时数有前导零。
H 24 小时制的小时。一位数的小时数没有前导零。
HH 24 小时制的小时。一位数的小时数有前导零。
m 分钟。一位数的分钟数没有前导零。
mm 分钟。一位数的分钟数有一个前导零。
s 秒。一位数的秒数没有前导零。
ss 秒。一位数的秒数有一个前导零。

时间用例:<fmt:formatDate value="${ctocOrder.buyerReleaseTime}" pattern="yyyy-MM-dd HH:mm:ss"/>


0 0
原创粉丝点击