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

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

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

1、使用示例:

//保留两位小数
$number.format("#0.00", $val)
//保留一位小数
$number.format("#0.0", $val)
//百分比
$number.format("0.00%", $val)
//千分位分割,并保留两位小数(指对 >= 1000的数字适合,< 1000 的数字会异常)例:99,会被格式化为:099.00
$number.format("#,000.00", $val)
//解决其实也简单,格式化之前判断一下:
#if($!val>=1000) $!{number.format('#,000.00',$!val)} #else $!val #end //取整,一直不知道怎么对小数取整,后来发现很简单,只是需要换一个函数
$number.integer($val)

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)

    注:源码文档。

最新文章

  1. centos搭建 nginx一直报错 file not found.
  2. echo &#39;.SUFFIXES: .cpp&#39; &gt;&gt; ${OUTPUT_FILE}
  3. enhance convenience rather than contribute to the fundamental power of the language
  4. 不允许修改SQLserver2008r2表中字段的属性问题
  5. 【Unity3D游戏开发】GameObject.Find()、Transform.Find查找隐藏对象 (十)
  6. HDU 1098 Ignatius&#39;s puzzle(数学归纳)
  7. 游戏开发设计模式之原型模式 &amp; unity3d JSON的使用(unity3d 示例实现)
  8. PHP 调用 Go 服务的正确方式 - Unix Domain Sockets
  9. 20162311 实验三 敏捷开发与XP实践 实验报告
  10. 15 Action View 以及监听 的使用
  11. CoreProfiler升级到.NetStandard 2.0
  12. Android--Task和BackStack高级
  13. bootstrapvalidator的简单校验【必填校验、长度校验、是否存在校验(remote)】
  14. idea 修改单个项目的 默认编码格式
  15. java- WatchService监控
  16. AWS &amp; ASP.NET
  17. C++ auto
  18. python标准库介绍——10 sys 模块详解
  19. windows server 2008 站点系列--AD的站点建立与子网的管理(zhuanzai)
  20. 【.Net】HttpClient 的使用

热门文章

  1. Boostnote跨平台 Markdown 编辑器
  2. [Luogu P1230]智力大冲浪
  3. 【线性代数】5-3:克莱姆法则,逆和体积(Cramer's Rule,Inverses,and Volumes)
  4. access函数
  5. win10 下载安装tasm
  6. redis集群搭建问题
  7. intel官方的手册
  8. Sketch教程
  9. JS的十大排序算法
  10. pwn学习日记Day17 《程序员的自我修养》读书笔记