Java阿拉伯数字转换为大写数字

Java阿拉伯数字转换为大写数字

public class Test{
 /**
  * 将数字转为大写
  */
   public static String formatNumber(int num) {
        StringBuilder sb = new StringBuilder();
        char[] val = String.valueOf(num).toCharArray();
        int len = val.length;
        for (int i = 0; i < len; i++) {
            String m = String.valueOf(val[i]);
            int n = Integer.valueOf(m);
            if (n == 0) {
                //如果当前位置的前一个位置是0 忽略
                if (len > 1 && '0' == val[i - 1]) {
                    continue;
                } else {
                    sb.append(nums[n]);
                }
            } else {
                String numStr = String.valueOf(nums[n]);
                String unitStr = units[(len - 1) - i];
                //特殊处理 一十 --> 十
                if("一".equals(numStr) && "十".equals(unitStr)) {
                    sb.append(unitStr);
                } else {
                    sb.append(numStr).append(unitStr);
                }

            }
        }
        //去除尾部多余的零
        String str = sb.toString();
        if(str.length() > 1 && "零".equals(String.valueOf(str.charAt(str.length()-1))))
            str = str.substring(0, str.length()-1);
        return str;
    }
    
  public static void main(String[] args) {
        System.out.println(this.formatNumber(12));
    }
 }
发布了22 篇原创文章 · 获赞 9 · 访问量 7675

猜你喜欢

转载自blog.csdn.net/qq_35719898/article/details/103213414
今日推荐