"""
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. Git使用指南(下)

    9 初识分支 把每一次的提交,都用线连起来,你会发现,很连贯. C/C++    指针的概念 git reset --hard commitid HEAD    如果说内容已经add到暂存区,此时要想 ...

  2. Prettier All In One

    Prettier All In One .prettierrc.js / .prettierrc / .prettierrc.json module.exports = { singleQuote: ...

  3. Vue & mobile UI components

    Vue & mobile UI components https://github.com/vuejs/awesome-vue https://awesome-vue.js.org/ http ...

  4. disable html input & pointer-events

    disable html input & pointer-events css https://developer.mozilla.org/en-US/docs/Web/CSS/pointer ...

  5. Web API & Element & DOM

    Web API & Element & DOM Element https://developer.mozilla.org/en-US/docs/Web/API/Element HTM ...

  6. CSS 实现文本的竖向排版

    CSS 实现文本的竖向排版 demos .text{ word-wrap: break-word; width: 0px; } writing-mode .text{ writing-mode: ve ...

  7. 打造NGK生态星空计划,高倍币VAST即将震撼上线!

    援引华盛顿邮报.彭博社.路透社以及CNN等知名媒体的报道,NGK官方近日宣布,为了完善NGK生态星空计划,NGK官方近日即将推出SPC的子币VAST,以鼓励更多的生态建设者参与. NGK官方相关负责人 ...

  8. PAA子公司在印度印度成立

    近日PAA房产又有大动作啦!在一片期待中,印度分公司正式成立!这是集团继泰国.越南.韩国.上海.成都.中国香港.中国台湾等分公司成立之后的又一扛鼎力作,更是PAA集团全球化战略布局的重要举措. 印度分 ...

  9. JVM元空间(Metaspace)

    本文转载自JVM学习--元空间(Metaspace) 从方法区(PermGen)到元空间(Metaspace) 方法区(PermGen) JDK1.8以前的HotSpot JVM有方法区,也叫永久代( ...

  10. Java 12 新特性介绍,快来补一补

    Java 12 早在 2019 年 3 月 19 日发布,它不是一个长久支持(LTS)版本.在这之前我们已经介绍过其他版本的新特性,如果需要可以点击下面的链接进行阅读. Java 11 新特性介绍 J ...