python 的数字转换大写金额的思路

不考虑转换位数问题,数字直接查询字典得出大写中文,单位部分为直接的列表插入,现在的问题是字典的输出和单位部分的列表输出怎么合并?或者有更好的解决方案?暂不考虑小数... 不考虑转换位数问题,数字直接查询字典得出大写中文,单位部分为直接的列表插入,现在的问题是字典的输出和单位部分的列表输出怎么合并?或者有更好的解决方案?暂不考虑小数 展开
 我来答
浩星辰锟su
2012-12-27 · TA获得超过6765个赞
知道大有可为答主
回答量:975
采纳率:0%
帮助的人:426万
展开全部
您好,给您举个例子就可以了,例如转化"123"为"壹贰叁元",程序如下:
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
这样就可以输出您要的结果"一万二千三百四十五"
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
发拉丽人
2012-12-28 · TA获得超过946个赞
知道小有建树答主
回答量:590
采纳率:0%
帮助的人:1258万
展开全部
哎,答错了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式