在jsp中格式化数字(金额),日期,百分号,字符串转数字等

主要是用到jsp的JSTL:fmt标签
第一步
在jsp顶部引入JSTL:fmt标签

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

1. 日期格式化
value填入你需要格式化前的时间,pattern是自己定义的格式化后的时间格式

<fmt:formatDate value=“${date}” pattern=“yyyy-MM-dd HH:mm:ss”/>

2.数字格式化
pattern:指定格式化数字的格式

符号代表的意义

0 代表 一个数位

‘#’ 代表 一个数位,前导零和追尾零不显示
. 代表 小数点分割位置
,代表 组分隔符的位置
%代表 用100乘,并显示百分号

//类型1
<fmt:formatNumber value="12345" type="currency" pattern="$.00"/> -- $12345.00
//类型2
<fmt:formatNumber value="12345" type="currency" pattern="$.0#"/> -- $12345.0
//类型3
<fmt:formatNumber value="1234567890" type="currency"/> -- $1,234,567,890.00(那个货币的符号和当前web服务器的 local 设定有关)
//类型4
//格式化是默认支持四舍五入的
<fmt:formatNumber value="1234.7891" pattern="#,#00.0#"/> -- 123,4.79
//类型5
<fmt:formatNumber value="1234.7" pattern="#,#00.0#"/> -- 123,4.7
//类型6
<fmt:formatNumber value="1234.7" pattern="#,#00.00#"/> -- 123,4.70

3.字符串转数字
这个跟JSTL标签没关系的
使用之前得判断是否为空或者null,不然会报
java.lang.NumberFormatException: empty String异常

Double.parseDouble("123456")

4.百分号格式化
type:指定格式化类型为百分号,(type 可以是currency、 number、 和percent)
maxFractionDigits:指定格式化后保存的小数位个数

<fmt:formatNumber type="percent" value="1223" maxFractionDigits="2" />

可以结合起来用,比如金额转化的时候,如果之前保存的金额是字符串,那么需要转成数字才能操作,当然不转也是可以除以100,例子如下:
其中的listItem.TransAtSingleDay是以“分”为单位的字符串,现在想格式化为以“元”为单位的,这里先判断listItem.TransAtSingleDay,防止出现异常,前面有说明的

//第一中做法:先转数字,再除以100
<c:if test="${listItem.TransAtSingleDay !=''&& listItem.TransAtSingleDay != null }">
<fmt:formatNumber value="${Double.parseDouble(listItem.TransAtSingleDay)/100}" pattern="#,#00.00#" maxFractionDigits="2"/>
</c:if>
//第二种不转:
    <fmt:formatNumber value="${listItem.TransAtSingleDay/100}" pattern="#,#00.00#" maxFractionDigits="2"/>
  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值