"""
2 把一个浮点数分解成证书备份和小数部分
3 """
4 def divide(num):
5 intnum = int(num)
6 floatnum = int(num) - intnum
7 return (str(intnum),str(floatnum))
8
9 han_list = ["零","壹","贰","叁","肆","伍","陆","柒","捌","玖"]
10 unit_list = ["千","佰","拾"]
11
12 def convert(num):
13 result = ""
14 num_len = len(num)
15 for i in range(num_len):
16 number = int(num[i])
17 if num_len == 4 and number != 0 and i <= 2:
18 result += han_list[number] + unit_list[i]
19 elif num_len == 3 and number != 0 and i <2:
20 result += han_list[number] + unit_list[i + 1]
21 elif num_len == 2 and number != 0 and i <1:
22 result += han_list[number] + unit_list[i + 2]
23 else:
24 result += han_list[number]
25 return result
26 def convert2(num):
27 lennum = len(num)
28 if lennum > 12:
29 print("数字太大无法转换!")
30 return
31 elif lennum > 8:
32 return convert(num[:-8]) + "亿"+\
33 convert(num[-8:-4]) + "万"+\
34 convert(num[-4:])
35 elif lennum > 4:
36 return convert(num[:-4]) + "万"+\
37 convert(num[-4:])
38 else:
else:
39 return convert(num)
40 number = input()
41 intnum,floatnum = divide(number)
42 result = convert2(intnum)+ "元"
43
44 print(result)

运行结果

123456789
壹亿贰千叁佰肆拾伍万陆千柒佰捌拾玖元
一开始想用if嵌套来实现这个功能,后俩发现程序量过于大,所以就换了一种思如,附上代码,这个代码只实现了8为以上数字的转换

 """
2 问题描述
3 将一个数字转换成人命币的读法,并且数字要求转换为对应的大写数字
4 思路分析
5 1.详见其整数和小数分离出来
6 2.中国习惯将数字每四位划分为一个区间
7 3.
8 """
9 list1 = []
10 def sever_number(number):
11 int_number = int(number)
12 float_number =int(number) - int_number
13 #将其转化为字符串,以进行切片
14 return (str(int_number),str(float_number))
15 list_han = ["零","壹","贰","叁","肆","伍","陆","柒","捌","玖"]
16 list_unit = ["千","佰","拾"]
17
18 def hanstr(number):
19 global list1
20 if len(number) > 8:
21 sever1 = number[:-8]
22 for i in sever1:
23 num = int(i)
24 a = list_han[num]
25 list1.append(a)
26 if sever1.index(i) == (len(sever1) - 1):
27 list1.append(list_unit[0])
28 sever2 = number[-8:-4]
29 for i in sever2:
30 num = int(i)
31 a = list_han[num]
32 list1.append(a)
33 if sever2.index(i) == (len(sever2) - 1):
34 sever3 = number[-4:]
35 for i in sever3:
36 num = int(i)
37 a = list_han[num]
38 list1.append(a)
39 return
40 num = input()
41 int_number,float_number = sever_number(num)
42 hanstr(int_number)
43 for i in list1:
44 print(i,end = "")
45 print("\n")
46
47
~

数字转人民币读法-python3的更多相关文章

  1. Python学习之--数字转人民币读法(解决问题的方法很重要)

    效果图: 实现代码: money = float(input("Please input the money:"))cop = int(money)Num = ['零','壹',' ...

  2. java人民币读法转换

    实现浮点数转换成人民币读法字符串 编写一个程序,将浮点数转换成人民币读法字符串,例如,将1006.333转换为壹千零陆元叁角叁分. 题意分析: 将浮点数分成整数部分和小数部分,分开处理整数部分和小数部 ...

  3. ORACLE数字转换人民币大写

    ORACLE 数字转换人民币大写     示例.   数字                    :183066999230.68 人民币大写        :壹仟捌佰参拾亿陆仟陆佰玖拾玖万玖仟贰佰参 ...

  4. 数字转人民币大写(SQL SERVER)

    --数字转人民币大写NumToRMB ---新建方法create  FUNCTION dbo.NumToRMB (@num numeric(14,5))   RETURNS varchar(100) ...

  5. php数字转人民币金额大写

    numToRmb.php <?php header("content-type:text/html;charset=utf-8"); function numToRmb($n ...

  6. sql 数字转人民币大写函数(两种方法)

    ,)) returns @rmb table( 亿 ) ,仟万 ) ,佰万 ) ,拾万 ) ,万 ) ,仟 ) ,佰 ) ,拾 ) ,元 ) ,角 ) ,分 )) as begin insert in ...

  7. 将一个浮点数转换成人民币读法字符串(java)

    public class Num2Rmb   {       private String[] hanArr = {"零" , "壹" , "贰&qu ...

  8. 一个用php写的人民币数字转人民币大写的函数

      function num2rmb ($num) {     $c1 = "零壹贰叁肆伍陆柒捌玖";     $c2 = "分角元拾佰仟万拾佰仟亿";     ...

  9. 树莓派项目(三) 数字识别树莓派3+python3.5+opencv3.3+tensorflow1.7+keras

    https://blog.csdn.net/weixin_40707450/article/details/80290705

随机推荐

  1. Leetcode(9)-回文数

    判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向 ...

  2. Ethical Hacking Tutorials

    Ethical Hacking Tutorials Free Ethical Hacking Tutorials https://www.guru99.com/ethical-hacking-tuto ...

  3. lerna

    lerna A tool for managing JavaScript projects with multiple packages. https://lerna.js.org/ https:// ...

  4. how to get svg text tspan x,y position value in js

    how to get svg text tspan x,y position value in js <svg xmlns="http://www.w3.org/2000/svg&qu ...

  5. 在浏览器上播放m3u8视频

    在edge上有效 <video width="600" controls> <source src="https://www.gentaji.com/2 ...

  6. NGK每日快讯2021.1.29日NGK公链第87期官方快讯!

  7. TYLER ADAMS BRADBERRY的私人投资分享

    TYLER ADAMS BRADBERRY是星盟全球投资公司(USA International Covenant 公司编号:20091457685)的创始人.投资委员会发起了15支项目基金,通过多方 ...

  8. .NET 6 Preview 1 发布

    前言 2021 年 2 月 17 日微软发布了 .NET 6 的 Preview 1 版本,那么来看看都有什么新特性和改进吧,由于内容太多了因此只介绍一些较为重点的项目. 统一和扩展 .NET 6 在 ...

  9. sublime 使用过程中遇到的问题

    1.当我把鼠标放置在下图所示的class上几秒钟后,sublime就会在全局查找当前的class字符,这时sublime就会出现卡顿或无响应 解决方法: 点击preferences下的settings ...

  10. WPF 如何修改button圆角(经典)

    本人想设置Button为圆角,奈何搜索百度,找到的全是坑爹答案,现总结如下: 1. 需要添加button 的template. 2. 设置border的时候,必须要设置background, 否则会提 ...