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

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


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


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

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

1. 初始化參數

2. 處理整數部分

I. 用正則表達式按照模板檢索(從兆位到個位,沒有對應項則為空)
II. 按照映射表執行映射後組合成數字列表
III. 將數字列表與數字單位列表的對應索引項進行相乘後求和

3. 處理小數部分

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

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

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

4. 數據映射

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

5. 數據檢查

判斷數據合理性

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


分享到:


相關文章: