Class NumberFormatter.Chinese

java.lang.Object
org.aoju.bus.core.convert.NumberFormatter.Chinese
Enclosing class:
NumberFormatter

public static class NumberFormatter.Chinese extends Object
数字转中文类 包括:
 1. 数字转中文大写形式,比如一百二十一
 2. 数字转金额用的大写形式,比如:壹佰贰拾壹
 3. 转金额形式,比如:壹佰贰拾壹整
 
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static BigDecimal
    chineseMoneyToNumber(String chineseMoneyAmount)
    中文大写数字金额转换为数字,返回结果以元为单位的BigDecimal类型数字
    static int
    把中文转换为数字 如 二百二十 220 见:https://www.d5.nz/read/sfdlq/text-part0000_split_030.html 一百一十二 -》 112 一千零一十二 -》 1012
    static String
    format(double amount, boolean isUseTraditional)
    阿拉伯数字转换成中文,小数点后四舍五入保留两位.
    static String
    format(double amount, boolean isUseTraditional, boolean isMoneyMode)
    阿拉伯数字转换成中文,小数点后四舍五入保留两位.
    static String
    format(double amount, boolean isUseTraditional, boolean isMoneyMode, String negativeName, String unitName)
    阿拉伯数字转换成中文.
    static String
    format(long amount, boolean isUseTraditional)
    阿拉伯数字(支持正负整数)转换成中文
    static String
    formatSimple(long amount)
    阿拉伯数字(支持正负整数)四舍五入后转换成中文节权位简洁计数单位,例如 -5_5555 =》 -5.56万
    static String
    formatThousand(int amount, boolean isUseTraditional)
    格式化-999~999之间的数字 这个方法显示10~19以下的数字时使用"十一"而非"一十一"
    static String
    numberCharToChinese(char c, boolean isUseTraditional)
    数字字符转中文,非数字字符原样返回

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Chinese

      public Chinese()
  • Method Details

    • format

      public static String format(double amount, boolean isUseTraditional)
      阿拉伯数字转换成中文,小数点后四舍五入保留两位. 使用于整数、小数的转换.
      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

      public static String format(double amount, boolean isUseTraditional, boolean isMoneyMode)
      阿拉伯数字转换成中文,小数点后四舍五入保留两位. 使用于整数、小数的转换.
      Parameters:
      amount - 数字
      isUseTraditional - 是否使用繁体
      isMoneyMode - 是否为金额模式
      Returns:
      中文
    • format

      public static String format(long amount, boolean isUseTraditional)
      阿拉伯数字(支持正负整数)转换成中文
      Parameters:
      amount - 数字
      isUseTraditional - 是否使用繁体
      Returns:
      中文
    • formatSimple

      public static String formatSimple(long amount)
      阿拉伯数字(支持正负整数)四舍五入后转换成中文节权位简洁计数单位,例如 -5_5555 =》 -5.56万
      Parameters:
      amount - 数字
      Returns:
      中文
    • formatThousand

      public static String formatThousand(int amount, boolean isUseTraditional)
      格式化-999~999之间的数字 这个方法显示10~19以下的数字时使用"十一"而非"一十一"
      Parameters:
      amount - 数字
      isUseTraditional - 是否使用繁体
      Returns:
      中文
    • numberCharToChinese

      public static String numberCharToChinese(char c, boolean isUseTraditional)
      数字字符转中文,非数字字符原样返回
      Parameters:
      c - 数字字符
      isUseTraditional - 是否繁体
      Returns:
      中文字符
    • chineseMoneyToNumber

      public static BigDecimal chineseMoneyToNumber(String chineseMoneyAmount)
      中文大写数字金额转换为数字,返回结果以元为单位的BigDecimal类型数字

      如: “陆万柒仟伍佰伍拾陆元叁角贰分”返回“67556.32” “叁角贰分”返回“0.32”

      Parameters:
      chineseMoneyAmount - 中文大写数字金额
      Returns:
      返回结果以元为单位的BigDecimal类型数字
    • chineseToNumber

      public static int chineseToNumber(String chinese)
      把中文转换为数字 如 二百二十 220 见:https://www.d5.nz/read/sfdlq/text-part0000_split_030.html
      • 一百一十二 -》 112
      • 一千零一十二 -》 1012
      Parameters:
      chinese - 中文字符
      Returns:
      数字