乙個我寫的把中文數字轉換成integer的小工具

2021-08-30 10:40:15 字數 1891 閱讀 6135

似乎阿拉伯數字轉中文的有很多,中文轉阿拉伯數字的沒找到過,所以自己寫了個。

只能轉整數的,小數因為我的應用不會碰到所以沒考慮,不過要加也很容易。

大家幫看下有什麼問題沒有,或者有什麼改進的建議

之前的**有些問題,在遇到「十」開頭的時候會得到錯誤的結果。現在的為修改後的**,大家幫看下是否還有其他問題

package com.mnv.crawler.parser.misc;

public class numberparser

/*** 把中文數字解析為阿拉伯數字(integer)

* @param prenumber 第二大的進製

* @param chinesenumber 中文數字

* @return 阿拉伯數字(integer),如果是無法識別的中文數字則返回-1

*/private static int parsechinesenumber(string chinesenumber,int prenumber)else if(chinesenumber.indexof("億")!=-1)

string postfix=chinesenumber.substring(index+1,end);

ret=parsechinesenumber(prefix,1)*100000000+parsechinesenumber(postfix,10000000);

}else if(chinesenumber.indexof("萬")!=-1)

string postfix=chinesenumber.substring(index+1,end);

ret=parsechinesenumber(prefix,1)*10000+parsechinesenumber(postfix,1000);

}else if(chinesenumber.indexof("千")!=-1)

string postfix=chinesenumber.substring(index+1,end);

ret=parsechinesenumber(prefix,1)*1000+parsechinesenumber(postfix,100);

}else if(chinesenumber.indexof("百")!=-1)

string postfix=chinesenumber.substring(index+1,end);

ret=parsechinesenumber(prefix,1)*100+parsechinesenumber(postfix,10);

}else if(chinesenumber.indexof("十")!=-1)

string postfix=chinesenumber.substring(index+1,end);

ret=parsechinesenumber(prefix,1)*10+parsechinesenumber(postfix,1);

}else if(chinesenumber.equals("一"))else if (chinesenumber.equals("二"))else if (chinesenumber.equals("三"))else if (chinesenumber.equals("四"))else if (chinesenumber.equals("五"))else if (chinesenumber.equals("六"))else if (chinesenumber.equals("七"))else if (chinesenumber.equals("八"))else if (chinesenumber.equals("九"))else if (chinesenumber.length()==0)else

return ret;

}public static void main(string args)

}

前端練習03 把數字轉換成中文

完成將tochinesenum,可以將數字轉換成中文大寫的表示,處理到萬級別,例如tochinesenum 12345 返回一萬二千三百四十五。將數字按照四位分成一組,存放在輸入中,每一項的處理邏輯其實是相同的,無非是根據最後不同的位置,新增不同的單位即可 分組的過程涉及到了上乙個聯絡的內容,將陣列...

中if判斷中文 阿拉伯數字轉換成中文數字

numberstring函式專門解決這個問題,使用規則如下 圖 1 numberstring函式使用規則 1.純數字轉換 圖 2 三種轉換形式示例 說明 由圖2示例可以看出,numberstring並不能識別負數。為了正常轉換,可以特殊處理 圖 3 負數問題的處理 如圖3,單元格c7的公式為 if ...

把人民幣數字轉換成中文大寫

coding utf 8 usr bin python coding utf 8 import sys def tobig money 0,rmb none big 零 壹 貳 叄 肆 伍 陸 柒 捌 玖 rmb 分 角 圓 拾 佰 仟 萬 拾 佰 仟 億 拾 佰 仟 萬 拾 佰 仟 萬 億 if ...