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)

    注:源码文档。

Velocity 数值格式化(NumberTool工具类):保留两位小数和格式化千分位、取整的更多相关文章

  1. [Java]求文件大小并保留两位小数(文件大小是一个长整型数单位是Byte)

    前言 为了获得一堆apk的大小,并与人类友好方式显示.本来是打算用以下方法,到时不能具体到保留两位小数. org.apache.commons.io.FileUtils.byteCountToDisp ...

  2. JS 实现四舍五入保留两位小数并且添加千位分隔符

    var a = "-123456789.078";a = (Math.round(a * 100) / 100).toFixed(2).toString().replace(/(\ ...

  3. 数字千分位处理,number.js,js保留两位,整数强制保留两位小数

    杨龙飞 杨龙飞 杨龙飞 杨龙飞 杨龙飞 杨龙飞 官方文档:https://www.customd.com/articles/14/jquery-number-format-redux 1.千分位 $. ...

  4. BigDecimal的用法详解(保留两位小数,四舍五入,数字格式化,科学计数法转数字,数字里的逗号处理)

    转自:https://blog.csdn.net/ochangwen/article/details/51531866 一.简介 Java在java.math包中提供的API类BigDecimal,用 ...

  5. js保留两位小数的数字格式化方法

    // 格式化数字(保留两位小数) numberFormat (num) { let percent = Number(num.toString().match(/^\d+(?:\.\d{0,2})?/ ...

  6. java double 保留两位小数

    java保留两位小数问题: 方式一: 四舍五入  double   f   =   111231.5585;  BigDecimal   b   =   new   BigDecimal(f);  d ...

  7. java.math.BigDecimal保留两位小数,保留小数,精确位数

    http://blog.csdn.net/yuhua3272004/article/details/3075436 使用java.math.BigDecimal工具类实现   java保留两位小数问题 ...

  8. 问题记录——BigDecimal保留两位小数及格式化成百分比

    1.函数总结 BigDecimal.setScale()方法用于格式化小数点 setScale(1)表示保留一位小数,默认用四舍五入方式 setScale(1,BigDecimal.ROUND_DOW ...

  9. (后台)Java:对double值进行四舍五入,保留两位小数的几种方法

    mport java.text.DecimalFormat; DecimalFormat df = new DecimalFormat("######0.00"); double ...

随机推荐

  1. 2019HDU多校第四场 Just an Old Puzzle ——八数码有解条件

    理论基础 轮换与对换 概念:把 $S$ 中的元素 $i_1$ 变成 $i_2$,$i_2$ 变成 $i_3$ ... $i_k$ 又变成 $i_1$,并使 $S$ 中的其余元素保持不变的置换称为循环, ...

  2. Codeforces Round #554 (Div. 2) F2. Neko Rules the Catniverse (Large Version) (矩阵快速幂 状压DP)

    题意 有nnn个点,每个点只能走到编号在[1,min(n+m,1)][1,min(n+m,1)][1,min(n+m,1)]范围内的点.求路径长度恰好为kkk的简单路径(一个点最多走一次)数. 1≤n ...

  3. 【题解】[Nwerc 2006]escape -C++

    Description 给出数字N(1<=N<=10000),X(1<=x<=1000),Y(1<=Y<=1000),代表有N个敌人分布一个X行Y列的矩阵上 矩形的 ...

  4. robotframework出现错误:Keyword 'AppiumLibrary.Open Application' expected 1 to 2 non-keyword arguments,got 5.

    robotframework官网: http://robotframework.org/#introduction -------------- 出现的场景: 由于一开始不了解robotframewo ...

  5. 全局变量异步I/O

    /*** sync_process.c ***/ #include <stdio.h> #include <signal.h> #include <unistd.h> ...

  6. P2058 海港

    原题链接  https://www.luogu.org/problemnew/show/P2058 这道题昨天qyf大佬刚给我们讲了一下,所以今天就把它做啦! qyf大佬的思路和我的是一样的(其实是借 ...

  7. 第二章、URL与资源

    1 URL统一资源定位符 URL 是浏览器寻找信息时所需的资源位置.通过 URL,人类和应用程序才能找到.使用并共享因特网上大量的数据资源.URL是作为URI的一个子集,URI是一类更通用的资源标识符 ...

  8. jquer绑定和获取属性

    最近每天都在熬夜,今天感觉眼睛特别涩,我决定,今天早睡,哈哈哈,上次总结了jquery控制节点,今天总结jquery控制属性,学习完基础知识,看看下面的案例练习一下,掌握的会更好   属性绑定和获取 ...

  9. 修复grub rescue问题

    前几天,手欠点了下win10的系统升级,直接从17.09升级到了19.3虽然也有些波折,总体顺利,以为一切都完事大吉之时,重启系统,原来,万恶的win10给我挖好了坑,早等着我呢.我去,千万只cnm脑 ...

  10. linux系统安装硬盘分区建议

      一.常见挂载点的情况说明一般来说,在linux系统中都有最少两个挂载点,分别是/ (根目录)及 swap(交换分区),其中,/ 是必须的: 详细内容见下文: 安装系统时选择creat custom ...