#数字转人民币汉字大写def divide(num):integer = int(num)fraction = round((num - integer) * 100)print("integer是:" +str(integer), "fraction是:" + str(fraction))return (str(integer), str(fraction))'''
#快速将字符串转成列表,省了敲引号了。a1 = '零壹贰叁肆伍陆柒捌玖'
a2 = [a1[i] for i in range(len(a1))]
a2
['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']a1.split()也有类似效果'''
han_list = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']
unit_list = ['拾', '佰', '仟']
money_unit = ['角', '分']def four_to_hanstr(num_str):#print("num_str是:"+ 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]#print("result是:" + result)return resultdef integer_to_str(num_str):str_len = len(num_str)if str_len >12:print("数字太大,翻译不了!")returnelif str_len >8:return four_to_hanstr(num_str[:8])+"亿" +\four_to_hanstr(num_str[-8:-4]) + "万" +\four_to_hanstr(num_str[-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)#小数部分转成汉字
def fraction_to_str(fraction):if int(fraction) == 0:        result = ""elif len(fraction)==2:a = int(fraction[-2])b = int(fraction[-1])result = han_list[a] + "角" + han_list[b] + "分"elif len(fraction)  ==1:b = int(fraction[-1])result = "零" +han_list[b] + "分"  #此处直接把“零角”写作“零几分”        else:passreturn resultnum = float(input("请输入一个浮点数: "))
integer, fraction = divide(num)result_f = integer_to_str(integer) + "元" + fraction_to_str(fraction)#删除多余的零
'''
for i in range(len(result_f )):    result_f  = result_f.replace( "零分", "")result_f  = result_f.replace( "零元", "元")result_f  = result_f.replace( "零拾", "拾")result_f  = result_f.replace( "零佰", "佰")result_f  = result_f.replace( "零仟", "仟")result_f  = result_f.replace( "零万", "万")result_f  = result_f.replace( "零亿", "亿")result_f  = result_f.replace( "零零", "零")result_f  = result_f.replace( "零整", "")
'''for i in range(len(result_f)):result_f  = result_f.replace( "零分", "")result_f  = result_f.replace( "零整", "")units1 = '元拾佰仟万亿零'for u in range(len(units1)):result_f  = result_f.replace( "零" + units1[u], units1[u])if result_f[-1] != '分':result_f =  result_f + "整"print(result_f)

数字转成人民币汉字大写(李刚著《疯狂Python讲义》P87,解决小数部分及多个零的问题。学习笔记)相关推荐

  1. 浮点数字转换成人民币的大写字体

    新开博客,贴上一段平常时写的代码,权当记录和分享. 下面是代码块(有比较详细的注释,转换过程中需要注意的是0的处理): //浮点数字转换成人民币的大写字体 import java.util.Scann ...

  2. 李刚疯狂python讲义怎么样_李刚《疯狂android讲义》 这本书怎么样?

    这本书没看过,但是李刚疯狂系列出的书类别太多了,而且都很厚,书的质量真不敢说,学安卓,推荐<Android编程权威指南>,这本书适合有一定Java基础的android初学者,共37章,全书 ...

  3. 数字转换成人民币大写格式(带界面)

    今天看了算法的公开课,有一个把数字转换成人民币大写的算法. 后面就想着自己写一个界面的,好几天没有写一个完整的程序的. 当然有一些BUG,没有时间优化,后面在慢慢优化. 自己的名言:每天努力一点儿,总 ...

  4. java 数字转换成汉字_Java-String-阿拉伯数字转换成中文汉字数字

    package com.test; public class NumberUtils { private static final String[] UNITS = { "", & ...

  5. 李刚 疯狂Python讲义 读书笔记

    疯狂Python讲义 李刚 这不一定是最好的python入门书,我买它纯粹是因为遇到公众号的推销.对入门教材不需要太纠结,基础知识部分大家都是互相借鉴的,买最近出版的就行. 我是经历了很长时间的碎片化 ...

  6. 疯狂python讲义pdf_如何自学成Python大神?这份学习宝典火爆 IT 圈!

    都说人生苦短,我用 Python.为什么? 简单明了的理由当然是开发效率高.但是学习 Python 的初学者往往会面临以下残酷的现状: 网上充斥着大量的学习资源.书籍.视频教程和博客,但是大部分都是讲 ...

  7. JAVA浮点数转人民币读法_算法--java实现将数字转换成人民币大写(迅雷面试题)...

    public classRmb {/*** 人民币的基本信息和操作 * *@authorsoyoungboy *@version1.0*/ private double number; //人民币的数 ...

  8. php大写数字转换,PHP把数字转成人民币大写的函数分享

    做财务的人遇到过这么一个问题,比如13,126.8元,在发票或者其他记账业务中,一般要使用大写进行拼读成"壹万叁仟壹佰贰拾陆元捌角整". 这不,也贴上我原来在做学车网的一个php函 ...

  9. C#通用类库--数字转为人民币汉字大写表示可负大写

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Shan ...

  10. C#通用类库--数字转为人民币汉字大写表示

    //类名:EcanRMB //作用:数字转换为人民币大写 //作者:刘典武 //时间:2010-12-04 using System; using System.Collections.Generic ...

最新文章

  1. 没学c语言可以学python_先学C语言还是Python?资深程序员往往是这样建议的!
  2. Servlet 监听器
  3. c语言怎样输入动态数组代码,求助~~ 如何把数组变成动态输入的?
  4. 计算机视觉子方向,计算机视觉方向简介 | 人脸识别中的活体检测算法综述
  5. Python print 函数- Python零基础入门教程
  6. java gc的特性_Java12新特性 -- 可中断的G1 Mixed GC
  7. c语言字符串提取第二个字符,c语言如何复制字符串(取前n个字符)strncpy()函数的应用实例...
  8. tableview分割线
  9. gitlab主备同步_gitlab实现主备切换集群
  10. atitit.导出excel的设计----查询结果 导出为excel的实现java .net php 总结
  11. mysql存储过程之异常处理篇
  12. 最优化理论——最速下降法
  13. 这10个免费电子书网站合集赶紧收藏了!
  14. 401 Unauthorized: ERROR Failed to connect to newly launched supervisor. Agen
  15. Xilinx差分输入时钟100Ω终端电阻设置
  16. android屏幕投屏QT,QtScrcpy - 安卓手机轻松投屏到电脑
  17. 头歌-自己动手画CPU(第六关)-MIPS RAM设计-Logisim
  18. CSS:absolute绝对定位
  19. 基于显著性检验分析两个样本分布相似度及Python实现—— t检验、拟合优度检验、KS检验、Wilcoxon符号秩检验、H检验、Mann-Whitney秩检验、P值的意义、API汇总
  20. oracle 加索引 %3e=,impdp create index parallel-数据泵并行创建索引

热门文章

  1. 丘成桐女子中学生数学竞赛结果出炉,人大附中拿下金奖,上海4人入围
  2. item_search_img - 拍立淘搜索淘宝商品(淘宝API)
  3. 数据保存(永久保存)方式
  4. 【单片机学习】51单片机【串口】,详细介绍
  5. Kubernetes 基于Service的蓝绿发布
  6. calibre的使用技巧
  7. Android中隐藏屏幕键盘的方法
  8. 6264.斐波那契(快速幂)
  9. 抖音作品别人保存不了,这个方法可快速将抖音短视频下载到本地
  10. git提交代码步骤和idea中不同颜色代表意义