JSTL 浮点数字输出格式化

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

 

Java程序中格式化数字的代码:

DecimalFormat df new DecimalFormat("格式");

String fmt =df.format(double);

“格式”部分自己定义:

符号                  意义
                    一个数位
                    一个数位,前导零和追尾零不显示
                     小数点分割位置
,                     组分隔符的位置
                     负数前缀
                   用100乘,并显示百分号
其他任何符号    在输出字符串中包括指定符号


3、 小数点保留两位:

3.1 用JSTL标签中的fmt标签
在JSP开头导入以下标签:
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
从后台传入的值是deltmain。 这里的pattern就相当于DecimalFormat。
<fmt:formatNumber value="${deltmain}" pattern="##.##" minFractionDigits="2" ></fmt:formatNumber>


3.2 用普通JS写:
function to1bits(flt) { 
if(parseFloat(flt) == flt) 
return Math.round(flt * 10) / 10; 
// 到4位小数, return Math.round(flt * 10000) / 10000; 
else 
return 0; 
}


 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值