Java實現中文數字轉換為阿拉伯數字


   /**
     * 中文數字轉阿拉伯數組【十萬九千零六十  --> 109060】
     * @author 雪見煙寒
     * @param chineseNumber
     * @return
     */
    @SuppressWarnings("unused")
    private static int chineseNumber2Int(String chineseNumber){
        int result = 0;
        int temp = 1;//存放一個單位的數字如:十萬
        int count = 0;//判斷是否有chArr
        char[] cnArr = new char[]{'一','二','三','四','五','六','七','八','九'};
        char[] chArr = new char[]{'十','百','千','萬','億'};
        for (int i = 0; i < chineseNumber.length(); i++) {
            boolean b = true;//判斷是否是chArr
            char c = chineseNumber.charAt(i);
            for (int j = 0; j < cnArr.length; j++) {//非單位,即數字
                if (c == cnArr[j]) {
                    if(0 != count){//添加下一個單位之前,先把上一個單位值添加到結果中
                        result += temp;
                        temp = 1;
                        count = 0;
                    }
                    // 下標+1,就是對應的值
                    temp = j + 1;
                    b = false;
                    break;
                }
            }
            if(b){//單位{'十','百','千','萬','億'}
                for (int j = 0; j < chArr.length; j++) {
                    if (c == chArr[j]) {
                        switch (j) {
                        case 0:
                            temp *= 10;
                            break;
                        case 1:
                            temp *= 100;
                            break;
                        case 2:
                            temp *= 1000;
                            break;
                        case 3:
                            temp *= 10000;
                            break;
                        case 4:
                            temp *= 100000000;
                            break;
                        default:
                            break;
                        }
                        count++;
                    }
                }
            }
            if (i == chineseNumber.length() - 1) {//遍歷到最后一個字符
                result += temp;
            }
        }
        return result;
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM