Package org.miaixz.bus.core.math
Class ChineseNumberFormatter
java.lang.Object
org.miaixz.bus.core.math.ChineseNumberFormatter
数字转中文类 包括:
1. 数字转中文大写形式,比如一百二十一 2. 数字转金额用的大写形式,比如:壹佰贰拾壹 3. 转金额形式,比如:壹佰贰拾壹整
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionformat(double amount) 阿拉伯数字转换成中文.static charformatChar(char c, boolean isUseTraditional) 数字字符转中文,非数字字符原样返回static StringformatSimple(long amount) 阿拉伯数字(支持正负整数)四舍五入后转换成中文节权位简洁计数单位,例如 -5_5555 = -5.56万static ChineseNumberFormatterof()获取 NumberChineseFormatter 默认对象setColloquialMode(boolean colloquialMode) 是否使用口语模式,此模式下的数字更加简化,如“一十一”会表示为“十一”setMoneyMode(boolean moneyMode) 是否使用金额模式,,如:壹拾贰圆setNegativeName(String negativeName) 设置负数的表示名称,如"负"setUnitName(String unitName) 设置金额单位名称,如:“元”或“圆”setUseTraditional(boolean useTraditional) 是否使用繁体,即金额表示模式,如:壹拾贰圆叁角贰分
-
Constructor Details
-
ChineseNumberFormatter
public ChineseNumberFormatter()
-
-
Method Details
-
formatSimple
阿拉伯数字(支持正负整数)四舍五入后转换成中文节权位简洁计数单位,例如 -5_5555 = -5.56万- Parameters:
amount- 数字- Returns:
- 中文
-
formatChar
public static char formatChar(char c, boolean isUseTraditional) 数字字符转中文,非数字字符原样返回- Parameters:
c- 数字字符isUseTraditional- 是否繁体- Returns:
- 中文字符
-
of
获取 NumberChineseFormatter 默认对象- Returns:
- NumberChineseFormatter
-
setUseTraditional
是否使用繁体,即金额表示模式,如:壹拾贰圆叁角贰分- Parameters:
useTraditional- 是否使用繁体- Returns:
- this
-
setMoneyMode
是否使用金额模式,,如:壹拾贰圆- Parameters:
moneyMode- 是否使用金额模式- Returns:
- this
-
setColloquialMode
是否使用口语模式,此模式下的数字更加简化,如“一十一”会表示为“十一”- Parameters:
colloquialMode- 是否口语模式- Returns:
- this
-
setNegativeName
设置负数的表示名称,如"负"- Parameters:
negativeName- 负数表示名称,非空- Returns:
- this
-
setUnitName
设置金额单位名称,如:“元”或“圆”- Parameters:
unitName- 金额单位名称- Returns:
- this
-
format
阿拉伯数字转换成中文.主要是对发票票面金额转换的扩展
如:-12.32
发票票面转换为:(负数)壹拾贰圆叁角贰分
而非:负壹拾贰元叁角贰分
共两点不同:1、(负数) 而非 负;2、圆 而非 元 2022/3/9
- Parameters:
amount- 数字- Returns:
- 格式化后的字符串
-