python数字转中文_python3 将汉字数字转阿拉伯数字

python3 将汉字数字转阿拉伯数字

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 _chinesToDigital(text):

if text.isdigit():

return float(text)

total = 0

unit = 1  # 表示单位:个十百千

for i, temp_text in enumerate(reversed(text)):

if temp_text in CN_NUM:

val = CN_NUM[temp_text]

else:

val = CN_UNIT[temp_text]

if val >= 10 and i == len(text)-1: # # 应对 十三 十四 十*之类

if val > unit:

unit = val

total = total + val

else:

unit = unit * val

elif val >= 10:

if val > unit:

unit = val

else:

unit = unit * val

else:

total = total + unit * val

return total

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值