Package org.aoju.bus.core.convert
Class NumberFormatter
java.lang.Object
org.aoju.bus.core.convert.NumberFormatter
数字转中文类
包括:
1. 数字转中文大写形式,比如一百二十一 2. 数字转金额用的大写形式,比如:壹佰贰拾壹 3. 转金额形式,比如:壹佰贰拾壹整
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic intchineseToNumber(String chinese) 把中文转换为数字 如 二百二十 220 见:https://www.d5.nz/read/sfdlq/text-part0000_split_030.html 一百一十二 -》 112 一千零一十二 -》 1012static Stringformat(double amount, boolean isUseTraditional) 阿拉伯数字转换成中文,小数点后四舍五入保留两位.static Stringformat(double amount, boolean isUseTraditional, boolean isMoneyMode) 阿拉伯数字转换成中文,小数点后四舍五入保留两位.static Stringformat(double amount, boolean isUseTraditional, boolean isMoneyMode, String negativeName, String unitName) 阿拉伯数字转换成中文,小数点后四舍五入保留两位.static Stringformat(int amount, boolean isUseTraditional) 格式化-999~999之间的数字 这个方法显示10~19以下的数字时使用"十一"而非"一十一"static Stringformat(long amount) 阿拉伯数字(支持正负整数)四舍五入后转换成中文节权位简洁计数单位,例如 -5_5555 = -5.56万static Stringformat(long amount, boolean isUseTraditional) 阿拉伯数字(支持正负整数)转换成中文static String将阿拉伯数字转为英文表达式static StringformatSimple(long value) 将阿拉伯数字转化为简洁计数单位,例如 2100 - 2.1k 范围默认只到wstatic StringformatSimple(long value, boolean isTwo) 将阿拉伯数字转化为简洁计数单位,例如 2100 - 2.1kstatic StringtoChinese(char c, boolean isUseTraditional) 数字字符转中文,非数字字符原样返回
-
Constructor Details
-
NumberFormatter
public NumberFormatter()
-
-
Method Details
-
format
阿拉伯数字(支持正负整数)四舍五入后转换成中文节权位简洁计数单位,例如 -5_5555 = -5.56万- Parameters:
amount- 数字- Returns:
- 中文
-
format
格式化-999~999之间的数字 这个方法显示10~19以下的数字时使用"十一"而非"一十一"- Parameters:
amount- 数字isUseTraditional- 是否使用繁体- Returns:
- 中文
-
format
阿拉伯数字(支持正负整数)转换成中文- Parameters:
amount- 数字isUseTraditional- 是否使用繁体- Returns:
- 中文
-
format
阿拉伯数字转换成中文,小数点后四舍五入保留两位. 使用于整数、小数的转换.- Parameters:
amount- 数字isUseTraditional- 是否使用繁体- Returns:
- 中文
-
format
阿拉伯数字转换成中文,小数点后四舍五入保留两位. 使用于整数、小数的转换.- Parameters:
amount- 数字isUseTraditional- 是否使用繁体isMoneyMode- 是否为金额模式- Returns:
- 中文
-
format
public static String format(double amount, boolean isUseTraditional, boolean isMoneyMode, String negativeName, String unitName) 阿拉伯数字转换成中文,小数点后四舍五入保留两位. 使用于整数、小数的转换.- Parameters:
amount- 数字isUseTraditional- 是否使用繁体isMoneyMode- 是否金额模式negativeName- 负号转换名称 如:负、(负数)unitName- 单位名称 如:元、圆- Returns:
- 中文
-
toChinese
数字字符转中文,非数字字符原样返回- Parameters:
c- 数字字符isUseTraditional- 是否繁体- Returns:
- 中文字符
-
chineseToNumber
把中文转换为数字 如 二百二十 220 见:https://www.d5.nz/read/sfdlq/text-part0000_split_030.html- 一百一十二 -》 112
- 一千零一十二 -》 1012
- Parameters:
chinese- 中文字符- Returns:
- 数字
-
format
将阿拉伯数字转为英文表达式- Parameters:
x- 阿拉伯数字,可以为Number对象,也可以是普通对象,最后会使用字符串方式处理- Returns:
- 英文表达式
-
formatSimple
将阿拉伯数字转化为简洁计数单位,例如 2100 - 2.1k 范围默认只到w- Parameters:
value- 被格式化的数字- Returns:
- 格式化后的数字
-
formatSimple
将阿拉伯数字转化为简洁计数单位,例如 2100 - 2.1k- Parameters:
value- 对应数字的值isTwo- 控制是否为只为k、w,例如当为false时返回4.38m,true返回438.43w- Returns:
- 格式化后的数字
-