Velocity 数值格式化(NumberTool工具类):保留两位小数和格式化千分位

Velocity 自带的工具类:NumberTool 实现数字格式化:保留两位小数和格式化千分位。

NumberTool 的 format(String format, Object obj)函数说明。

第一个参数定义的格式,第二个参数是要被格式化的对象。

1、使用示例:

//保留两位小数
$number.format("#0.00", $val)
//保留一位小数
$number.format("#0.0", $val)
//千分位分割,并保留两位小数(指对 >= 1000的数字适合,< 1000 的数字会异常)例:99,会被格式化为:099.00
$number.format("#,000.00", $val)
//解决其实也简单,格式化之前判断一下:
#if($!val>=1000) $!{number.format('#,000.00',$!val)} #else $!val #end

2、优化:格式化千分位定义为 macro 宏

如果页面数据太多,每次都判断也麻烦,可以把这个方法写成一个macro宏,然后页面直接使用就可以了。

## 宏定义如下
#macro (formatThousands $number)
    #if($number>=1000)
        $!{numberTool.format('#,000.00',$number)}
    #else
        $!{numberTool.format('#0.00',$number)}
    #end
#end
 
## 使用,页面上直接使用
#formatThousands(1000)

3、参考:

  1. velocity 模板保留两位小数(截断 2 位) - sxy_Fighting - CSDN 博客
  2. Velocity 中的 ComparisonDateTool、MathTool、NumberTool、SortTool、EscapeTool 工具 - Jc Wang - 博客园
    注:各种格式类说的很全,可以好好参考。
  3. NumberTool (VelocityTools 3.0-SNAPSHOT API)
    注:源码文档。

转载于:https://www.cnblogs.com/buwuliao/p/11238802.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值