本文目錄一覽:
如何用Python實現阿拉伯數字轉換英文數字
辦法很多,我這裡介紹個用一個數組比如:
numEn[10]={“zero”,”one”,”two”,”three”,”four”,”five”,”sixe”,”seven”,”eight”,”nine”}這樣下標就對應字元了,比如你要把2變成「two」,就可以用numEn[2]得到
將整數轉換為漢字大寫數字pta
python
利用Python將阿拉伯數字轉化為中文大寫,其實最麻煩的地方就是中間空多個0的問題,這種情況下,採用拆分法則,將一個大數字,先拆分成整數部分和小數部分,再對整數部分按照仟、萬、億、兆分位拆分為四個字元串組成的List,每個字元串最多4個字元,然後對每個分位的字元串用大寫函數轉換成大寫,最後合併,這樣等於縮減了問題,處理就相對簡單了。
#演算法說明:要求字元串輸入,現將字元串差費為整數部分和小數部分生成list[整數部分,小數部分]
#將整數部分拆分為:[億,萬,仟]三組字元串組成的List:[‘0000′,’0000′,’0000’](根據實際輸入生成階梯List)
#例如:600190000010.70整數部分拆分為:[‘600′,’1900′,’0010’]
#然後對list中每個字元串分組進行大寫化再合併
#最後處理小數部分的大寫化
python3 將中文句子中漢字數字轉阿拉伯數字
import re
s =’五百八十二元3角六分’
s = re.sub(‘一’,’1′,s)
s = re.sub(‘二’,’2′,s)
s = re.sub(‘三’,’3′,s)
s = re.sub(‘四’,’4′,s)
s = re.sub(‘五’,’5′,s)
s = re.sub(‘六’,’6′,s)
s = re.sub(‘七’,’7′,s)
s = re.sub(‘八’,’8′,s)
s=re.sub(‘九’,’9′,s)
print(s)
a_list = re.findall(‘\d\D+’,s) #type:list
print(a_list)
for a in range(len(a_list)): #type:int
(‘縮進’)if a_list[a].endswith(‘百’):
(‘縮進’)(‘縮進’)a_list[a]=int(a_list[a][0]+’00’)
(‘縮進’)elif a_list[a].endswith(‘十’):
(‘縮進’)(‘縮進’)a_list[a] = int(a_list[a][0] + ‘0’)
(‘縮進’)elif a_list[a].endswith(‘元’):
(‘縮進’)(‘縮進’)a_list[a] = int(a_list[a][0])
(‘縮進’)elif a_list[a].endswith(‘角’):
(‘縮進’)(‘縮進’)a_list[a] = float(‘0.’+a_list[a][0])
(‘縮進’)elif a_list[a].endswith(‘分’):
(‘縮進’)(‘縮進’)a_list[a] = float(‘0.0’+a_list[a][0])
print(sum(a_list))
print(round(sum(a_list),2))
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/270451.html