由于EL表达式的运算结果是浮点数时(而且EL表达式的除运算结果也是浮点数,这和其他语言还有点不一样),在网页上显示一长串确实不雅。使用JSTL的fmt标签,可以实现对数字、货币、时间……的格式化显示。
首先在页面前导入该标签库
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
数字格式化(value部分可为EL表达式):
1.<fmt:formatNumber value="12" type="currency" pattern="$.00"/>
//-- $12.00
2.<fmt:formatNumber value="12" type="currency" pattern="$.0#"/>
//-- $12.0
3.<fmt:formatNumber value="1234567890" type="currency"/>
//-- $1,234,567,890.00(那个货币的符号和当前web服务器的 local 设定有关)
4.<fmt:formatNumber value="123456.7891" pattern="#,#00.0#"/>
// -- 123,456.79
5.<fmt:formatNumber value="123456.7" pattern="#,#00.0#"/>
//-- 123,456.7
6.<fmt:formatNumber value="123456.7" pattern="#,#00.00#"/>
// -- 123,456.70
7.<fmt:formatNumber value="12" type="percent" />
//-- 1,200% (type 可以是currency、 number、 和percent)。
8.<fmt:formatNumber value="123456.7" pattern="#.##"/>
//自动保留两位小数显示
Java程序中格式化数字的代码:
DecimalFormat df = new DecimalFormat("格式");
String fmt =df.format(double);
“格式”部分自己定义:
符号 意义
0 一个数位
# 一个数位,前导零和追尾零不显示
. 小数点分割位置
, 组分隔符的位置
- 负数前缀
% 用100乘,并显示百分号
其他任何符号 在输出字符串中包括指定符号
首先在页面前导入该标签库
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
数字格式化(value部分可为EL表达式):
1.<fmt:formatNumber value="12" type="currency" pattern="$.00"/>
//-- $12.00
2.<fmt:formatNumber value="12" type="currency" pattern="$.0#"/>
//-- $12.0
3.<fmt:formatNumber value="1234567890" type="currency"/>
//-- $1,234,567,890.00(那个货币的符号和当前web服务器的 local 设定有关)
4.<fmt:formatNumber value="123456.7891" pattern="#,#00.0#"/>
// -- 123,456.79
5.<fmt:formatNumber value="123456.7" pattern="#,#00.0#"/>
//-- 123,456.7
6.<fmt:formatNumber value="123456.7" pattern="#,#00.00#"/>
// -- 123,456.70
7.<fmt:formatNumber value="12" type="percent" />
//-- 1,200% (type 可以是currency、 number、 和percent)。
8.<fmt:formatNumber value="123456.7" pattern="#.##"/>
//自动保留两位小数显示
Java程序中格式化数字的代码:
DecimalFormat df = new DecimalFormat("格式");
String fmt =df.format(double);
“格式”部分自己定义:
符号 意义
0 一个数位
# 一个数位,前导零和追尾零不显示
. 小数点分割位置
, 组分隔符的位置
- 负数前缀
% 用100乘,并显示百分号
其他任何符号 在输出字符串中包括指定符号