Velocity 数值格式化(NumberTool工具类):保留两位小数和格式化千分位、取整
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、参考:
Velocity 数值格式化(NumberTool工具类):保留两位小数和格式化千分位、取整的更多相关文章
- [Java]求文件大小并保留两位小数(文件大小是一个长整型数单位是Byte)
前言 为了获得一堆apk的大小,并与人类友好方式显示.本来是打算用以下方法,到时不能具体到保留两位小数. org.apache.commons.io.FileUtils.byteCountToDisp ...
- JS 实现四舍五入保留两位小数并且添加千位分隔符
var a = "-123456789.078";a = (Math.round(a * 100) / 100).toFixed(2).toString().replace(/(\ ...
- 数字千分位处理,number.js,js保留两位,整数强制保留两位小数
杨龙飞 杨龙飞 杨龙飞 杨龙飞 杨龙飞 杨龙飞 官方文档:https://www.customd.com/articles/14/jquery-number-format-redux 1.千分位 $. ...
- BigDecimal的用法详解(保留两位小数,四舍五入,数字格式化,科学计数法转数字,数字里的逗号处理)
转自:https://blog.csdn.net/ochangwen/article/details/51531866 一.简介 Java在java.math包中提供的API类BigDecimal,用 ...
- js保留两位小数的数字格式化方法
// 格式化数字(保留两位小数) numberFormat (num) { let percent = Number(num.toString().match(/^\d+(?:\.\d{0,2})?/ ...
- java double 保留两位小数
java保留两位小数问题: 方式一: 四舍五入 double f = 111231.5585; BigDecimal b = new BigDecimal(f); d ...
- java.math.BigDecimal保留两位小数,保留小数,精确位数
http://blog.csdn.net/yuhua3272004/article/details/3075436 使用java.math.BigDecimal工具类实现 java保留两位小数问题 ...
- 问题记录——BigDecimal保留两位小数及格式化成百分比
1.函数总结 BigDecimal.setScale()方法用于格式化小数点 setScale(1)表示保留一位小数,默认用四舍五入方式 setScale(1,BigDecimal.ROUND_DOW ...
- (后台)Java:对double值进行四舍五入,保留两位小数的几种方法
mport java.text.DecimalFormat; DecimalFormat df = new DecimalFormat("######0.00"); double ...
随机推荐
- hdu5183Negative and Positive (NP))——手写Hash&&模板
题意:问是否存在一段区间其加减交错和为K. 显然,我们可以用set保存前缀和,然后枚举一个端点查找.具体的 若在st1中查找 $t$,为 $sum-t=-k$,在st2中则是 $sum-t=k$. 注 ...
- 2、Spring Boot 2.x 快速入门
1.2 Spring Boot 快速入门 1.2.1 开发环境和工具 JDK 1.8+:Spring Boot 2.x 要求 JDK 1.8 环境及以上版本.另外,Spring Boot 2.x 只兼 ...
- mysql常用的索引种类
一.索引 MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度 二.索引类型 Mysql目前主要有以下几种索引类型:FULLTEXT,HASH,BTREE,RT ...
- luogu 2943 [USACO09MAR]清理Cleaning Up 动态规划
非常巧妙的动态规划. 你会发现每一个区间地颜色种类不能超过 $\sqrt n$, 所以可以直接枚举区间颜色种类. 令这个为 $pos[j],$ 然后考虑如何去更新这个东西就行了. Code: #inc ...
- slax linux的定制
由于数据结构教学的需要,需要用到linux,要求就是小,启动快,可定制性强,恰好slax正好满足要求,以下就是定制slax linux的过程记录: 什么是Slax Slax是一个基于Linux的Liv ...
- SQL Server Management Studio 清除用户名和密码
SQL Server Management Studio 2018 delete the file C:\Users\%username%\AppData\Roaming\Microsoft\SQL ...
- kafka - Confluent.Kafka
上个章节我们讲了kafka的环境安装(这里),现在主要来了解下Kafka使用,基于.net实现kafka的消息队列应用,本文用的是Confluent.Kafka,版本0.11.6 1.安装: 在NuG ...
- Ajax简单异步上传图片并回显
前台代码 上传图片按钮 <a href="javascript:void(0)" onclick="uploadPhoto()">选择图片</ ...
- Window 32位 编程总结
Lesson01 win32 Window 32位 编程 1.Windows编程基础 2.Windows的字符 3.窗口处理 4.消息处理 5.绘图 6.对话框 7.控件 Win32编程: Windo ...
- 一、mysql下载与安装
1.下载 官网:https://www.mysql.com/ 注意,其实我看了好的博文,下载截图五花八门,官网内容是变动的,布局也不一样,所以不要指望标准参照那个博文去找到安装包下载: 不过,你可以不 ...