Package org.aoju.bus.core.convert
Class NumberFormatter.Chinese
java.lang.Object
org.aoju.bus.core.convert.NumberFormatter.Chinese
- Enclosing class:
NumberFormatter
数字转中文类 包括:
1. 数字转中文大写形式,比如一百二十一 2. 数字转金额用的大写形式,比如:壹佰贰拾壹 3. 转金额形式,比如:壹佰贰拾壹整
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic BigDecimalchineseMoneyToNumber(String chineseMoneyAmount) 中文大写数字金额转换为数字,返回结果以元为单位的BigDecimal类型数字static 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(long amount, boolean isUseTraditional) 阿拉伯数字(支持正负整数)转换成中文static StringformatSimple(long amount) 阿拉伯数字(支持正负整数)四舍五入后转换成中文节权位简洁计数单位,例如 -5_5555 =》 -5.56万static StringformatThousand(int amount, boolean isUseTraditional) 格式化-999~999之间的数字 这个方法显示10~19以下的数字时使用"十一"而非"一十一"static StringnumberCharToChinese(char c, boolean isUseTraditional) 数字字符转中文,非数字字符原样返回
-
Constructor Details
-
Chinese
public Chinese()
-
-
Method Details
-
format
阿拉伯数字转换成中文,小数点后四舍五入保留两位. 使用于整数、小数的转换.- Parameters:
amount- 数字isUseTraditional- 是否使用繁体- Returns:
- 中文
-
format
public static String format(double amount, boolean isUseTraditional, boolean isMoneyMode, String negativeName, String unitName) 阿拉伯数字转换成中文.主要是对发票票面金额转换的扩展
如:-12.32
发票票面转换为:(负数)壹拾贰圆叁角贰分
而非:负壹拾贰元叁角贰分
共两点不同:1、(负数) 而非 负;2、圆 而非 元 2022/3/9
- Parameters:
amount- 数字isUseTraditional- 是否使用繁体isMoneyMode- 是否金额模式negativeName- 负号转换名称 如:负、(负数)unitName- 单位名称 如:元、圆- Returns:
- java.lang.String
-
format
阿拉伯数字转换成中文,小数点后四舍五入保留两位. 使用于整数、小数的转换.- Parameters:
amount- 数字isUseTraditional- 是否使用繁体isMoneyMode- 是否为金额模式- Returns:
- 中文
-
format
阿拉伯数字(支持正负整数)转换成中文- Parameters:
amount- 数字isUseTraditional- 是否使用繁体- Returns:
- 中文
-
formatSimple
阿拉伯数字(支持正负整数)四舍五入后转换成中文节权位简洁计数单位,例如 -5_5555 =》 -5.56万- Parameters:
amount- 数字- Returns:
- 中文
-
formatThousand
格式化-999~999之间的数字 这个方法显示10~19以下的数字时使用"十一"而非"一十一"- Parameters:
amount- 数字isUseTraditional- 是否使用繁体- Returns:
- 中文
-
numberCharToChinese
数字字符转中文,非数字字符原样返回- Parameters:
c- 数字字符isUseTraditional- 是否繁体- Returns:
- 中文字符
-
chineseMoneyToNumber
中文大写数字金额转换为数字,返回结果以元为单位的BigDecimal类型数字如: “陆万柒仟伍佰伍拾陆元叁角贰分”返回“67556.32” “叁角贰分”返回“0.32”
- Parameters:
chineseMoneyAmount- 中文大写数字金额- Returns:
- 返回结果以元为单位的BigDecimal类型数字
-
chineseToNumber
把中文转换为数字 如 二百二十 220 见:https://www.d5.nz/read/sfdlq/text-part0000_split_030.html- 一百一十二 -》 112
- 一千零一十二 -》 1012
- Parameters:
chinese- 中文字符- Returns:
- 数字
-