Java阿拉伯数字转中文数字
带单位转换的我只将数字范围定在十万以内的正数并且没考虑
0
需要向上调整范围的童鞋自己修改代码呦欢迎指出错误
先看效果再看代码
不多说屁话上代码
/**
     * <p>@description: 阿拉伯数字转中文数字(不带单位) </p>
     * <p>@method: numberConvertToBaseChinese </p>
     * <p>@author: 枫铃也 </p>
     * <p>@since: 2019-10-10 16:03 </p>
     *
     * <p>@return java.lang.String </p>
     */
    public static String numberConvertToBaseChinese(int num) {
        StringBuffer buffer = new StringBuffer();
        char[] nums = {'零', '一', '二', '三', '四', '五', '六', '七', '八', '九'};
        char[] baseChar = Integer.toString(num).toCharArray();
        for (char c : baseChar) {
            buffer.append(nums[c - 48]);
        }
        return buffer.toString();
    }
    /**
     * <p>@description: 阿拉伯数字转中文数字(带单位) </p>
     * <p>@method: numberConvertToChinese </p>
     * <p>@author: 枫铃也 </p>
     * <p>@since: 2019-10-10 16:03 </p>
     *
     * <p>@return java.lang.String </p>
     */
    public static String numberConvertToChinese(int num) {
        char[] nums = {'零', '一', '二', '三', '四', '五', '六', '七', '八', '九'};
        char[] units = {' ', '十', '百', '千', '万'};
        char[] baseChar = Integer.toString(num).toCharArray();
        char[] numChar = new char[baseChar.length];
        for (int i = 0; i < baseChar.length; i++) {
            numChar[i] = nums[baseChar[i] - 48];
        }
        char[] unit = new char[numChar.length];
        unit = Arrays.copyOf(units, unit.length);
        StringBuffer buffer = new StringBuffer();
        for (int i = 0; i < numChar.length; i++) {
            if (numChar[i] != nums[0]) {
                buffer.append(numChar[i]).append(unit[unit.length - i - 1]);
            }else {
                buffer.append(numChar[i]);
            }
        }
        int index = 0;
        while ((index = buffer.indexOf(nums[0] + String.valueOf(nums[0]))) > 0) {
            buffer.replace(index, index + 2, String.valueOf(nums[0]));
        }
        return buffer.toString().substring(0, buffer.length() - 1);
    }
神马,没有注释?
我故意的(此处拒绝板砖和拖鞋之类的具有任何杀伤性的物品),嘿嘿
自己看懂了才算是有收获欢迎指出错误
- 感谢你赐予我前进的力量
                                
                                
                                    
 
赞赏者名单
                                    因为你们的支持让我意识到写文章的价值🙏
                                
                            
            本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 Salted Fish
        
     评论
            
                
                隐私政策
            
            
                你无需删除空行,直接评论以获取最佳展示效果
            
        
            
        

                                    
                        