python 中文大寫轉阿拉伯數字(金額)

2021-09-29 07:56:10 字數 829 閱讀 2272

輸入:金額的中文大寫(字串)

輸出:阿拉伯數字(float或int型)

整數部分主要是利用正規表示式進行檢索,將對應項的數字與單位列表的對應項相乘並求和,小數部分也是一樣的手法,但是由於可能存在只有角的情況,正規表示式不好處理,而且角、分這裡涉及的情況並不多,所以我們分離處理

1. 初始化引數

2. 處理整數部分

i. 用正規表示式按照模板檢索(從兆位到個位,沒有對應項則為空)

ii. 按照對映表執行對映後組合成數字列表

iii. 將數字列表與數字單位列表的對應索引項進行相乘後求和

3. 處理小數部分

i. 長度為4:n角n分,獲取到角和分對應的數字,對映後與單位相乘求和

ii. 長度為3:零n分,獲取到分對應的數字,執行對映後與單位相乘

iii. 長度為2,n角,獲取到角對應的數字,執行對映後與單位相乘

4. 資料對映

和之前提到的對映方法一致,只是將數字與漢字對調,這裡有乙個對字串的處理,如果是零n的形式則將字串替換為n,如果是空字串,則按照零執行對映

5. 資料檢查

判斷資料合理性

Python 中文 大寫 數字轉阿拉伯數字

中文轉數字,小數的化考慮點字進一步封裝即可。constants for chinese to arabic cn num cn unit def chinese to arabic cn str int unit 0 current ldig digest for ig in reversed cn...

python 中文大寫轉阿拉伯數字(金額)

輸入 金額的中文大寫 字串 輸出 阿拉伯數字 float或int型 整數部分主要是利用正規表示式進行檢索,將對應項的數字與單位列表的對應項相乘並求和,小數部分也是一樣的手法,但是由於可能存在只有角的情況,正規表示式不好處理,而且角 分這裡涉及的情況並不多,所以我們分離處理 1.初始化引數 2.處理整...

js阿拉伯數字轉中文大寫

function dx n if 0 1 9 d d test n return 資料非法 var unit 千百拾億千百拾萬千百拾元角分 str n 00 var p n.indexof if p 0 n n.substring 0,p n.substr p 1,2 unit unit.subst...