python数字金额转换为中文大写金额

编写一函数,将数字金额转换为中文大写金额。设最高位考虑到亿,最低位考虑到分(如:数字金额为1023.445,转换为中文大写金额为:壹仟零佰贰拾叁元肆角伍分)。输入:一个数字金额(如:1234.5),输出:中文大写金额(壹仟贰佰叁拾肆元伍角零分)。

from decimal import Decimal

def num2money_format(change_number):

"""

.转换数字为大写货币格式( format_word.__len__() - 3 + 2位小数 )

change_number 支持 float, int, long, string

"""

format_word = ["元",

"拾", "佰", "仟", "万",

"拾", "佰", "仟", "亿",

"拾", "佰", "仟", "万",

"拾", "佰", "仟"]

format_word_decimal = ['分', '角']

format_num = {'0': "零", '1': "壹", '2': "贰", '3': "叁", '4': "肆", '5': "伍", '6': "陆", '7': "柒", '8': "捌", '9': "玖"}

res = [] # 存放转换结果

if '.' not in change_number:

# 输入的数字没有'.',为整元,没有角和分

k = len(change_number) - 1

for i in change_number:

res.append(format_num[i])

res.append(format_word[k])

k = k - 1

elif '.' in change_number:

float_2_change_num = Decimal(float(change_number)).quantize(Decimal("0.00"))

# 如果输入的字符串有“.”,则将其转换为浮点数后,四舍五入取两位小数

# print(float_2_change_num)

# print(type(float_2_change_num))

depart = str(float_2_change_num).split('.')

# 将四舍五入得到的浮点数整数部分和小数部分拆开,实现操作为:先将浮点数转为字符串类型,再以“.”为分隔符分开

# print(depart)

int_part = depart[0] # 整数部分

# print(int_part)

decimal_part = depart[1] # 小数部分

# print(decimal_part)

k = len(int_part) - 1

for i in int_part: # 整数部分转换

res.append(format_num[i])

res.append(format_word[k])

k = k - 1

m = len(decimal_part) - 1

for i in decimal_part: # 小数部分转换

res.append(format_num[i])

res.append(format_word_decimal[m])

m = m - 1

return ''.join(res) # 返回结果

your_money = input()

result = num2money_format(your_money)

print(result)

原文链接:https://blog.csdn.net/weixin_45895290/article/details/107004563

python数字转中文字符_python数字金额转换为中文大写金额相关推荐

  1. 中国车牌31个省份中文字符、数字与英文字母数据集免费下载

    大佬已经无偿公开数据集甚至源码,这些人还在用数据集赚钱 数据集就在上面两个文件中 链接: 中国车牌31个省份中文字符.数字与英文字母数据集 登不上的这里下载 ↓ 百度网盘:https://pan.ba ...

  2. 正则也很牛,把阿拉伯数字的金额转换为中文大写数字

    using System; using System.Text.RegularExpressions; class Program {   // 把阿拉伯数字的金额转换为中文大写数字   static ...

  3. 将金额转换为中文大写

    将金额转换为中文大写 思路 判断符号,0则直接返回 数字去掉点 00结尾的要加'整' 循环,从后面每次取一个数位上的值直到最前面, 若是非零则加上对应的数值和单位 若是零,判断上一个是否为零,是,则不 ...

  4. python判断是否为数字符_Python判断字符串是否为数字

    Python判断一个字符串是否为数字,可以分为两种情况考虑. 字符为纯数字 如果需要检测的数字为纯数字,不包括负号,小数点等,可以使用字符串的isdigit()函数来判断 >>> a ...

  5. python如何把数字转化成字符_python 定义一个dictpython如何将数字转化为字符串

    python如何将数字转化为字符串?下面给大家介绍一下基本步骤: 第一步:在菜单栏里输入idle,打开shell; 第二步:新建文件并命名: 相关推荐:<python视频教程> W WW. ...

  6. python怎么统计多少字符_python统计中文字符数量的两种方法

    方法一: def str_count(str): '''找出字符串中的中英文.空格.数字.标点符号个数''' count_en = count_dg = count_sp = count_zh = c ...

  7. 将数字金额转换为中文大写金额

    /*------Oracle数据库------*/                                       在存储过程中,将数据中的金额小写转大写的函数. create or re ...

  8. java将输入的数字金额转换为中文大写金额

    前言 将输入的数字字符串中的每一个数字字符转换为对应的中文大写,例如12345转换为壹贰叁肆伍,再将此中文大写和对应的单位进行字符串的拼接并一起输出 输出结果为:零佰零拾壹万贰仟叁佰肆拾伍元 一.具体 ...

  9. 将数字金额转换为中文大写金额(在网上找的)

    /*------Oracle数据库------*/                                       在存储过程中,将数据中的金额小写转大写的函数. create or re ...

  10. python中文字符_python处理中文字符

    1.在py文件中使用中文字符 unicode.py文件内容如下所示: # -*- coding:utf-8 -*- str_ch = '我们women' uni_ch = u'我们women' pri ...

最新文章

  1. CentOS7环境搭建使用PhpStorm上传代码
  2. [svc]samba服务搭建
  3. 计算当前时间对应的本周一、上周一
  4. AndroidFFmpeg
  5. “冷潮”之后,P2P或更加适合投资
  6. 行为驱动开发BDD概要
  7. C++:Static修饰变量 vs Static修饰函数
  8. mysql 大小端_go语言中大小端模式的个人理解
  9. React学习之进阶WEB组件(二十)
  10. STM32标准库及的Keil软件包下载
  11. FinClip如何将H5工程转为小程序
  12. MSF(Metasploit)渗透测试---黑客工具使用指南
  13. 缓存的那些应用场景,你都清楚吗?
  14. 题目 1180: 不容易系列
  15. [附源码]java毕业设计基于的旅游信息管理系统
  16. 模拟信号的数字化处理
  17. 免费学习机器学习和深度学习的源码、学习笔记和框架分享
  18. 微信小程序选项卡swiper默认高度150px(让高度实现自适应)怎么解决?
  19. vue.js:597 [Vue warn]: Error in render: “TypeError: Cannot read property ‘img‘ of null
  20. 嵌入式Linux学习规划

热门文章

  1. APP导航菜单系列Axure模板原型
  2. arduino相关知识点思维导图合集
  3. json rpgmv 加密_【RPG Maker MV插件编程】【实例教程6】存档的加密解密与保护
  4. linux ext4限制,linux – 限制ext4文件系统中文件的最大大小
  5. java自动生成一年中工作日和休息日(公休日及假期国家法定假日)
  6. 浙大PAT甲级 1080
  7. SSM框架整合以及使用思路梳理
  8. prince2 成功的项目管理_我的PRINCE2故事
  9. win7录屏_win7电脑怎么录屏?这个实用工具给你答案
  10. 【测试】软件测试的生命周期