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;
    }
相關文章
相關標籤/搜索