JSTL 浮点数字输出格式化

来源:互联网 发布:linux opencv contrib 编辑:程序博客网 时间:2024/05/29 04:47

由于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; 
}


 


0 0
原创粉丝点击