Hutool快速处理金额大小写格式化

一般来说,系统在设计到金额的地方,为了更好的体验,需要对金额进行格式化,如:金额小写时,千分位分割;大写金额时需要到元角。如果要我们自己写,想来也得花点时间去做逻辑上的处理。但是,Hutool已经为我们封装好了便捷的工具类方法。

金额小写格式化

在金额小写格式化时,我们可以直接调用Hutool里的NumberUtil工具类,如:

1
2
double amount = 123456.88;
String amountFormat = NumberUtil.decimalFormat(",###.##", amount); //输出结果为:123,456.88

其实,这里的NumberUtil.decimalFormat也只是封装了DecimalFormat类,所以这里的format格式就是DecimalFormatformat的格式,一般常用一下几种

1
2
3
4
5
1. 0  数字 占位符,位数不足,则0补充。
2. # 数字 占位符,位数不足为空
3. . 小数的分隔符的占位符
4. , 分组分隔符的占位符
5. ; 分隔格式

金额大写格式化

在金额大写格式化时,我们可以直接调用Hutool里的NumberChineseFormatter工具类的format方法,在源码中,我们可以看到该方法的使用方式

1
2
3
4
5
6
7
8
9
10
11
/**
* 阿拉伯数字转换成中文,小数点后四舍五入保留两位. 使用于整数、小数的转换.
*
* @param amount 数字
* @param isUseTraditional 是否使用繁体
* @param isMoneyMode 是否为金额模式
* @return 中文
*/
public static String format(double amount, boolean isUseTraditional, boolean isMoneyMode) {
return format(amount, isUseTraditional, isMoneyMode, "负", "元");
}

这里,我们不用繁体字,只是转为大写的金额模式,那么,我们可以这样调用来实现金额大写转换

1
2
double amount = 123456.88;
String amountFormat = NumberChineseFormatter.format(amount,false,true); //输出结果为:一十二万三千四百五十六元八角八分

Hutool快速处理金额大小写格式化

https://blogs.52fx.biz/posts/81127154.html

作者

eyiadmin

发布于

2023-01-17

更新于

2024-05-31

许可协议

评论