python 的数字转换大写金额的思路
不考虑转换位数问题,数字直接查询字典得出大写中文,单位部分为直接的列表插入,现在的问题是字典的输出和单位部分的列表输出怎么合并?或者有更好的解决方案?暂不考虑小数...
不考虑转换位数问题,数字直接查询字典得出大写中文,单位部分为直接的列表插入,现在的问题是字典的输出和单位部分的列表输出怎么合并?或者有更好的解决方案?暂不考虑小数
展开
展开全部
您好,给您举个例子就可以了,例如转化"123"为"壹贰叁元",程序如下:
dic = {"1": "壹", "2": "贰", "3": "叁"} (这里的字典您可以写全,因为是例子我就略写了)
num = "123" (注意这里一定要是字符串,因为数字是无法转化成列表的)
numList = list(num) (这里把读入的数字num转化成列表,以便后面依次读取和转化)
s = "" (初始化一个空的字符串,然后后面转化过后的数字加入这个字符串)
for i in numList:
s += dic[i]
s += "元"
print s
这样就可以输出您要的结果"壹贰叁元"
dic = {"1": "壹", "2": "贰", "3": "叁"} (这里的字典您可以写全,因为是例子我就略写了)
num = "123" (注意这里一定要是字符串,因为数字是无法转化成列表的)
numList = list(num) (这里把读入的数字num转化成列表,以便后面依次读取和转化)
s = "" (初始化一个空的字符串,然后后面转化过后的数字加入这个字符串)
for i in numList:
s += dic[i]
s += "元"
print s
这样就可以输出您要的结果"壹贰叁元"
追问
如果是加 万、千、百这样的单位呢? 不考虑边界问题
追答
这样的话同样的例子,12345转化成""一万二千三百四十五"
dic_num = {"1": "一", "2": "二", "3": "三", "4": "四", "5": "五"}
dic_unit = {0: "", 1: "十", 2: "百", 3: "千", 4: "万"}
num = "12345"
numList = list(num)
s = ""
index = 4
for i in numList:
s += dic_num[i] + dic_unit[index]
index -= 1
print s
这样就可以输出您要的结果"一万二千三百四十五"
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
哎,答错了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询