前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python3 数字转人民币大写

python3 数字转人民币大写

作者头像
用户5760343
发布2019-12-12 18:06:11
1.3K0
发布2019-12-12 18:06:11
举报
文章被收录于专栏:sktj

''' 把一个浮点数分解成整数部分和小数部分字符串 num 需要被分解的浮点数 返回分解出来的整数部分和小数部分。 第一个数组元素是整数部分,第二个数组元素是小数部分 ''' def divide(num): # 将一个浮点数强制类型转换为int型,即得到它的整数部分 integer = int(num) # 浮点数减去整数部分,得到小数部分,小数部分乘以100后再取整得到2位小数 fraction = round((num - integer) * 100) # 下面把整数转换为字符串 return (str(integer), str(fraction))

han_list = ["零" , "壹" , "贰" , "叁" , "肆" , "伍" , "陆" , "柒" , "捌" , "玖"] unit_list = ["十" , "百" , "千"] ''' 把一个四位的数字字符串变成汉字字符串 num_str 需要被转换的四位的数字字符串 返回四位的数字字符串被转换成汉字字符串 ''' def four_to_hanstr(num_str): result = "" num_len = len(num_str) # 依次遍历数字字符串的每一位数字 for i in range(num_len) : # 把字符串转成数值 num = int(num_str[i]) # 如果不是最后一位数字,而且数字不是零,则需要添加单位(千、百、十) if i != num_len - 1 and num != 0 : result += han_list[num] + unit_list[num_len - 2 - i] # 否则不要添加单位 else : result += han_list[num] return result ''' 把数字字符串变成汉字字符串 num_str 需要被转换的数字字符串 返回数字字符串被转换成汉字字符串 ''' def integer_to_str(num_str): str_len = len(num_str) if str_len > 12 : print('数字太大,翻译不了') return # 如果大于8位,包含单位亿 elif str_len > 8: return four_to_hanstr(num_str[:-8]) + "亿" + four_to_hanstr(num_str[-8: -4]) + "万" + four_to_hanstr(num_str[-4:]) # 如果大于4位,包含单位万 elif str_len > 4: return four_to_hanstr(num_str[:-4]) + "万" + four_to_hanstr(num_str[-4:]) else: return four_to_hanstr(num_str) num = float(input("请输入一个浮点数: "))

测试把一个浮点数分解成整数部分和小数部分

integer, fraction = divide(num)

测试把一个四位的数字字符串变成汉字字符串

print(integer_to_str(integer)) print(fraction)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 测试把一个浮点数分解成整数部分和小数部分
  • 测试把一个四位的数字字符串变成汉字字符串
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档