【Python】练习1-数字人民币转大写
‘’'输入一个浮点数作为处理对象,将浮点数转为人民币大写形式。
例如:输入:123.45
输出:壹佰贰拾叁元肆角伍分
其中有一些多余的print()函数,用于调试过程中的输出,建议初学者多使用此类输出,便于发现程序中的Bug。
'''输入一个浮点数作为处理对象,将浮点数转为人民币大写形式。例如:输入:123.45输出:壹佰贰拾叁元肆角伍分其中有一些多余的print()函数,用于调试过程中的输出,建议初学者多使用此类输出,便于发现程序中的Bug。'''num = float(input("请输入需要转换的数字:"))# 定义数字拆分函数
def diving(num):#分离整数部分,float转换为int自动取整数部分-不四舍五入integer=int(num)#分离小数部分,取整函数round,四舍五入fraction=round((num-integer)*100)return(integer,fraction)integer,fraction=diving(num)
print(integer,fraction)#拆分函数(将数字部分分解成元素数组)
def element_diving(element):element_str=str(element)element_list=[]for x in element_str:element_list.append(x) return(element_list) #建立整数、小数部分元素列表
integer_list=element_diving(integer)
fraction_list=element_diving(fraction)
print(integer_list)
print(integer_list[0])
print(fraction_list)#整数数组分组(4位一组)
def integer_group(integer_list):integer_group=[]lens=len(integer_list)n=int(lens/4)m=int(lens%4)if m>0:for i in range(0,(4-m)):integer_list.insert(0,'0')n+=1i=0while i<n:j=0a_str=''while j<4:a_str=a_str+integer_list[i*4+j]j+=1integer_group.append(a_str)i+=1return(integer_group)
'''
def integer_group(integer_list):lens=len(integer_list)n=lens/4integer_group=list(range(0,n))i=0while i<n:integer_group[i]=integer_list(i:4i)'''
#整数分组后的变量integer_group
integer_group=integer_group(integer_list)
print(integer_group)fraction_unit=['角','分']def four_read(four_ele_str):table=str.maketrans('0123456789','零壹贰叁肆伍陆柒捌玖')integer_unit1=['仟','佰','拾','']four_ele_str=four_ele_str.translate(table)finial_str=''i=0while i<4:if four_ele_str[i]=='零' and i==0:i+=1finial_str='零'continueelif four_ele_str[i]=='零':i+=1finial_str=finial_str+'零'continuefinial_str=finial_str+four_ele_str[i]+integer_unit1[i]i+=1 return(finial_str)integer_ch_group=[]
for x in integer_group:a_str=four_read(x)integer_ch_group.append(a_str)print(integer_ch_group)integer_unit=['元','万','亿','兆','京','垓','杼']
integer_ch=''
def combin_str(integer_ch_group,fraction_list):n=len(integer_ch_group)integer_ch=''fraction_ch=''i=0j=n-1while i<n:integer_ch=integer_ch+integer_ch_group[i]+integer_unit[j]i+=1j-=1table=list('零壹贰叁肆伍陆柒捌玖')fraction_ch=table[int(fraction_list[0])]+'角'+table[int(fraction_list[1])]+'分'total_ch=integer_ch+fraction_chreturn(total_ch)total_ch=combin_str(integer_ch_group,fraction_list)print(total_ch)
【Python】练习1-数字人民币转大写相关推荐
- java数字人民币转大写的方法及注意事项
最近做需求,需要用到数字人民币转大写的方法,项目里面本身就有相应的工具方法,我就直接拿来用,结果到了生产上就有bug,原来是double类型十进制转二进制后小数点后的精度问题.于是自己总结写了一个比较 ...
- python数字大小写转换代码_用python实现把数字人民币金额转换成大写的脚本程序...
# -*- coding: utf-8 -*- def Num2MoneyFormat( change_number ): """ .转换数字为大写货币格式( forma ...
- Python实现数字转人民币(大写汉字)源代码
Python实现数字转人民币(大写汉字)源代码,运行截图: 完整程序代码 import warnings from decimal import Decimaldef cncurrency(value ...
- 零基础实操 | Python实现数字转人民币(大写汉字)源代码
大家好,我是吒吒. 我们的工作中遇到一些问题,不依靠工具的话,改起来真的超级麻烦,还会遗漏.有个小伙伴提出怎么把数字转成人民币(大写汉字),Python还真的可以做到,并且挺简单的,新手都可以操作.下 ...
- python中用函数货币转换代码_python将人民币转换大写的脚本代码
代码如下: def Num2MoneyFormat( change_number ): """ .转换数字为大写货币格式( format_word.__len__() – ...
- java开发_数字转换汉语中人民币的大写_完整版
转自:https://www.cnblogs.com/hongten/p/hongten_java_money.html 做这个应用,源于突然的一个想法:看到发票上面的数字要转换成汉语中人民币的大写 ...
- python 怎么将数字转大写_Python将数字转化为中文大写的实例代码
Python将阿拉伯数字转化为中文大写,关键点在于中间空多个0的问题. 这种情况下,采用拆分法则,将一个大数字,先拆分成整数部分和小数部分,再对整数部分按照仟.万.亿.兆分位拆分为四个字符串组成的Li ...
- python人民币转大写_python2.x实现人民币转大写人民币
本文实例为大家分享了python实现人民币转大写人民币的具体代码,供大家参考,具体内容如下 直接上代码: # -*- coding: utf-8 -*- def changenum( change_n ...
- 使用 C# 将数字转换成大写人民币
贴段最近在项目中用到的一个函数. 因涉及到财务,需要把数字符转换成大写人民币汉字,于是自己动手写了一个,使用的算法比较笨,各位看客不要笑啊. 可转换数字大小在10亿以下,超过的,就无能为力了,不过大家 ...
- 数字金额转换为大写人民币汉字
// 数字金额转换为大写人民币汉字convertCurrency (money) {// 汉字的数字var cnNums = ['零', '壹', '贰', '叁', '肆', '伍', '陆', ' ...
最新文章
- python编程求导数_Python求导数的方法
- 阿里、小米、美团或将入恒指,但这还远远不够!
- Maven用仓库外的jar进行编译
- 部署到CloudFoundry上的应用,启动超时的处理
- SpringMVC(二)高级
- java制作玩游戏并支付游戏币_java 学习第三天小练习
- OSCS开源软件安全周报,一分钟了解本周开源软件安全大事
- java修改文件的名称_Java修改文件名称
- P106魔改1060
- 苹果电脑Mac电脑使用心得M1芯片快捷键
- Java中使用‘~‘获得数字的相反数
- 前端开发人员必备的十项技能
- Android开发:基站定位
- 前世档案 分数 20作者 陈越单位 浙江大学
- 如何打开html格式文件?Win11打开html文件的方法
- Japanese Student Championship 2021 D - Nowhere P(递推 + 快速幂)
- Serial Programming HOWTO——Linux 串口编程HOWTO
- 自动驾驶传感器产业链
- Symantec Backup Exec Remote Agent for Linux/Unix Servers Installation Guide
- JAVA file列出所有文件_用Java代码列出一个目录下所有的文件
热门文章
- 编写基于机器学习的程序,有哪些编写和调试的经验和窍门?
- 面向对象的三大特征:封装 继承 多态
- SAP银行账户管理(Bank Account Management)
- 2020-2021学年——图像图形编程实践实验4_Canny图像边缘检测
- Android中汉字转拼音的优化
- es同义词插件 热更新(dynamic-synonym插件)
- XSS-13注入靶场闯关(小游戏)——第十三关
- 140227项目开发及上线过程遇到的10个问题(重点: FCK过滤替换)
- [传递闭包]POJ#3660 Cow Contest
- 13号避难所计算机指令,电脑版方舟生存进化指令