本文目錄一覽:
Python 將中文大寫數字轉為阿拉伯數字
平時會碰到把中文大寫的金額轉為阿拉伯數字,比如叄仟伍佰陸拾玖元肆角需要轉為3569.4,嘗試編寫函數如下:
上例測試輸出為:
八轉換為阿拉伯數字為8
十一轉換為阿拉伯數字為11
一百二十三轉換為阿拉伯數字為123
一千二百零三轉換為阿拉伯數字為1203
上交金額伍拾陸萬柒仟零肆角轉換為阿拉伯數字為567000.4
十萬零三千六百零九轉換為阿拉伯數字為103609
一百二十三萬四千五百六十七轉換為阿拉伯數字為1234567
一千一百二十三萬四千五百六十七轉換為阿拉伯數字為11234567
捌億柒仟零肆拾陸萬貳角捌分轉換為阿拉伯數字為870460000.28
一百零二億五千零一萬零一千零三十八轉換為阿拉伯數字為10250011038
壹兆零六百二十三億五千五百萬五百零捌元叄角柒分轉換為阿拉伯數字為1062355000508.37
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))
python中將阿拉伯數字轉換為中文
第一種方案:
def num_to_char(num):
“””數字轉中文”””
num=str(num)
new_str=””
num_dict={“0″:u”零”,”1″:u”一”,”2″:u”二”,”3″:u”三”,”4″:u”四”,”5″:u”五”,”6″:u”六”,”7″:u”七”,”8″:u”八”,”9″:u”九”}
listnum=list(num)
# print(listnum)
shu=[]
for i in listnum:
# print(num_dict[i])
shu.append(num_dict[i])
new_str=””.join(shu)
# print(new_str)
return new_str
第二種方案
_MAPPING = (u’零’, u’一’, u’二’, u’三’, u’四’, u’五’, u’六’, u’七’, u’八’, u’九’, u’十’, u’十一’, u’十二’, u’十三’, u’十四’, u’十五’, u’十六’, u’十七’,u’十八’, u’十九’)
_P0 = (u”, u’十’, u’百’, u’千’,)
_S4 = 10 ** 4
def _to_chinese4(num):
assert (0 = num and num _S4)
if num 20:
return _MAPPING[num]
else:
lst = []
while num = 10:
lst.append(num % 10)
num = num / 10
lst.append(num)
c = len(lst) # 位數
result = u”
for idx, val in enumerate(lst):
val = int(val)
if val != 0:
result += _P0[idx] + _MAPPING[val]
if idx c – 1 and lst[idx + 1] == 0:
result += u’零’
return result[::-1]
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/194770.html