Python 中文数字转阿拉伯数字

本文介绍了一个简单的Python函数,该函数能够将中文数字字符串(如“一千二百三十四”)转换为其对应的整数值(1234)。通过定义中文数字和单位的映射,函数遍历输入字符串并计算总和。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#只能转数字,传参中包含非数字会错.
def t(str):
	zhong={'零':0,'一':1,'二':2,'三':3,'四':4,'五':5,'六':6,'七':7,'八':8,'九':9};
	danwei={'十':10,'百':100,'千':1000,'万':10000};
	num=0;
	if len(str)==0:
		return 0;
	if len(str)==1:
		if str == '十':
			return 10;
		num=zhong[str];
		return num;
	temp=0;
	if str[0] == '十':
		num=10;
	for i in str:
		if i == '零':
			temp=zhong[i];
		elif i == '一':
			temp=zhong[i];
		elif i == '二':
			temp=zhong[i];
		elif i == '三':
			temp=zhong[i];
		elif i == '四':
			temp=zhong[i];
		elif i == '五':
			temp=zhong[i];
		elif i == '六':
			temp=zhong[i];
		elif i == '七':
			temp=zhong[i];
		elif i == '八':
			temp=zhong[i];
		elif i == '九':
			temp=zhong[i];
		if i == '十':
			temp=temp*danwei[i];
			num+=temp;
		elif i == '百':
			temp=temp*danwei[i];
			num+=temp;
		elif i == '千':
			temp=temp*danwei[i];
			num+=temp;
		elif i == '万':
			temp=temp*danwei[i];
			num+=temp;
	if str[len(str)-1] != '十'and str[len(str)-1] != '百'and str[len(str)-1] != '千'and str[len(str)-1] != '万':
		num+=temp;
	return num;

  

转载于:https://www.cnblogs.com/love-DanDan/p/10673879.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值