Python將漢字數字轉換成阿拉伯數字的方法

CN_NUM = {
u'〇' : 0,
u'一' : 1,
u'二' : 2,
u'三' : 3,
u'四' : 4,
u'五' : 5,
u'六' : 6,
u'七' : 7,
u'八' : 8,
u'九' : 9,
 
u'零' : 0,
u'壹' : 1,
u'貳' : 2,
u'叁' : 3,
u'肆' : 4,
u'伍' : 5,
u'陸' : 6,
u'柒' : 7,
u'捌' : 8,
u'玖' : 9,
 
u'貮' : 2,
u'兩' : 2,
}
CN_UNIT = {
u'十' : 10,
u'拾' : 10,
u'百' : 100,
u'佰' : 100,
u'千' : 1000,
u'仟' : 1000,
u'萬' : 10000,
u'萬' : 10000,
u'億' : 100000000,
u'億' : 100000000,
u'兆' : 1000000000000,
}
 
 
def cn2dig(cn):
    lcn = list(cn)
    unit = 0 #當前的單位
    ldig = []#臨時數組
 
    while lcn:
        cndig = lcn.pop()
 
        if CN_UNIT.has_key(cndig):
            unit = CN_UNIT.get(cndig)
            if unit==10000:
                ldig.append('w')    #標示萬位
                unit = 1
            elif unit==100000000:
                ldig.append('y')    #標示億位
                unit = 1
            elif unit==1000000000000:#標示兆位
                ldig.append('z')
                unit = 1
 
            continue
 
        else:
            dig = CN_NUM.get(cndig)
 
            if unit:
                dig = dig*unit
                unit = 0
 
            ldig.append(dig)
 
    if unit==10:    #處理10-19的數字
        ldig.append(10)
     
    ret = 0
    tmp = 0
 
    while ldig:
        x = ldig.pop()
 
        if x=='w':
            tmp *= 10000
            ret += tmp
            tmp=0
 
        elif x=='y':
            tmp *= 100000000
            ret += tmp
            tmp=0
 
        elif x=='z':
            tmp *= 1000000000000
            ret += tmp
            tmp=0
 
        else:
            tmp += x
 
    ret += tmp
    return ret
 
    #ldig.reverse()
    #print ldig
    #print CN_NUM[u'七']
 
 
if __name__ == '__main__':
 
    test_dig = [u'九',
                u'十一',
                u'一百二十三',
                u'一千二百零三',
                u'一萬一千一百零一',
                u'十萬零三千六百零九',
                u'一百二十三萬四千五百六十七',
                u'一千一百二十三萬四千五百六十七',
                u'一億一千一百二十三萬四千五百六十七',
                u'一百零二億五千零一萬零一千零三十八',
                u'一千一百一十一億一千一百二十三萬四千五百六十七',
                u'一兆一千一百一十一億一千一百二十三萬四千五百六十七',
                ]
 
    for cn in test_dig: 
 
        print cn2dig(cn)

轉自http://www.iplaypy.com/code/base/b2600.html

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,443評論 6 532
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,530評論 3 416
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,407評論 0 375
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,981評論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,759評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,204評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,263評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,415評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,955評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,782評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,983評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,528評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,222評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,650評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,892評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,675評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,967評論 2 374

推薦閱讀更多精彩內容

  • 夜微涼,尺素香。星月半央,淡了素妝。 暗思量,自難忘。涕淚兩行,濕了華裳。 --題記 窗外的夜,是靜謐的涼。微風習...
    c528a9d867cc閱讀 261評論 0 1
  • 我不孤單只是情緒泛濫我總是一個人在練習一個人寂寞是腳跟回憶是凹痕 一個人面試, 一個人上班, 一個人下班, 一個人...
    顏大青閱讀 345評論 1 1
  • 目錄 Git自學與掉坑實錄(一)· 創建版本庫· 添加提交文件至版本庫 Git自學與掉坑實錄(二)· 本地文件的修...
    達嚕六閱讀 481評論 0 1