python:金额数字转为人民币大写:


def Num2MoneyFormat(change_number):""".转换数字为大写货币格式( format_word.__len__() - 3 + 2位小数 )change_number 支持 float, int, long, string"""format_word = ["分", "角", "元","拾", "百", "千", "万","拾", "百", "千", "亿","拾", "百", "千", "万","拾", "百", "千", "兆"]format_num = ["零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"]if type(change_number) == str:# - 如果是字符串,先尝试转换成float或int.if '.' in change_number:try:change_number = float(change_number)except:raise ValueError('%s   can\'t change' % change_number)else:try:change_number = int(change_number)except:raise ValueError('%s   can\'t change' % change_number)if isinstance(change_number, int):change_number = float(change_number)if type(change_number) == float:real_numbers = []for i in range(len(format_word) - 3, -3, -1):if change_number >= 10 ** i or i < 1:real_numbers.append(int(round(change_number / (10 ** i), 2) % 10))else:raise ValueError('%s   can\'t change' % change_number)zflag = 0  # 标记连续0次数,以删除万字,或适时插入零字start = len(real_numbers) - 3change_words = []for i in range(start, -3, -1):  # 使i对应实际位数,负数为角分if 0 != real_numbers[start - i] or len(change_words) == 0:if zflag:change_words.append(format_num[0])zflag = 0change_words.append(format_num[real_numbers[start - i]])change_words.append(format_word[i + 2])elif 0 == i or (0 == i % 4 and zflag < 3):  # 控制 万/元change_words.append(format_word[i + 2])zflag = 0else:zflag += 1if change_words[-1] not in (format_word[0], format_word[1]):# - 最后两位非"角,分"则补"整"change_words.append("整")return ''.join(change_words)

python:金额数字转为人民币大写相关推荐

  1. Python实现数字转人民币(大写汉字)源代码

    Python实现数字转人民币(大写汉字)源代码,运行截图: 完整程序代码 import warnings from decimal import Decimaldef cncurrency(value ...

  2. 零基础实操 | Python实现数字转人民币(大写汉字)源代码

    大家好,我是吒吒. 我们的工作中遇到一些问题,不依靠工具的话,改起来真的超级麻烦,还会遗漏.有个小伙伴提出怎么把数字转成人民币(大写汉字),Python还真的可以做到,并且挺简单的,新手都可以操作.下 ...

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

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

  4. 把数字金额转换成人民币大写[原创]

    最近在用这个博客,感觉博客园不错,以前用的是新浪的,感觉这个更好,所以好多东西现在转到这边来了. 下面是一个数字转人民币大写的类,不啰嗦了,下面是代码:  1    /**/ /// <summ ...

  5. c#的输入数字自动转为人民币大写的方法

    c#的输入数字自动转为人民币大写的方法 public static string ConvertRMB(double amount) {string[] units = { "", ...

  6. js 数字转人民币大写

    目前网上有许多的数字转人民币大写功能,但是在某些数字上就回出现错误, 比如501356,这个转换之后,有的会转换成 "伍拾万零壹仟叁佰伍拾陆" ,单位万和千紧密相连,中间是不需要 ...

  7. oracle里存储函数将金额数字转换成大写

    CREATE OR REPLACE FUNCTION NUMBER_TO_CHINESE(P_NUM IN NUMBER DEFAULT NULL)RETURN NVARCHAR2 IS/*Ver:1 ...

  8. js收据、发票等表格数据格式化,js把数字转为中文大写

    1.表格金额格式化 /*** 把金额转为发票.收据等表格能遍历显示的数据* * @param {money} Numner 金额大小* @param {max} Numner 带(角.分的位数)* 例 ...

  9. C#数字转人民币大写

    C#方法 废话不多说,直接上代码: /// <summary> /// 数字转换为大写人民币表示 /// </summary> /// <param name=" ...

  10. 金额数字 转中文大写

    金额数字 转中文大写 有三种办法: //方法一: 代码最少: export function DX1(n) {if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(n))return ...

最新文章

  1. 免费教材丨第58期:机器学习相关汇总资料大放送(中)
  2. 2019山东夏令营摸鱼记
  3. 计算机发现概述教案,计算机网络概述教案
  4. 蓝懿教育九月八日记录
  5. 五家共井java_算法练习02:五家共井
  6. CF--思维练习-- CodeForces - 215C - Crosses(思维题)
  7. C/C++程序设计注意事项 (二)
  8. python和c的语法区别_python与c语言的语法有哪些不一样的
  9. selenium (二)
  10. html校园网页设计作品欣赏,26张很棒网页首屏设计作品欣赏
  11. Java Web入门之网络聊天室
  12. 未经授权,直接划扣资金!这些支付机构的用户要小心
  13. 音乐 组件 (音频, 视频)
  14. 对区块链技术的一些新思考
  15. 基于部标1078视频协议和苏标Adas协议构建主动平台
  16. AntV G6将节点修改成图片
  17. SEO判断是否是搜索引擎蜘蛛跳转(快照劫持)
  18. 微信开挂怎么防止封号_越狱过的手机怎样避免外挂微信被封
  19. 微信清除缓存的两种方法
  20. 【Vue3】利用watchEffect的清除副作用实现一个防抖函数

热门文章

  1. Hexo 关闭文章评论
  2. 计算机启用远程桌面连接失败,解决办法:如何处理win10远程桌面连接失败?
  3. 高数——零点定理、介值定理的应用
  4. 408数据结构考研笔记!超级详细!23最新考纲
  5. 富盛Sbo金税接口管理模块操作手册
  6. 江苏省无锡市高二计算机小高考,江苏新高考高二还要考小高考吗?江苏新高考高中怎么分科?...
  7. 2019数学建模F:数字货币存在是否合理?提供一些思路供思考
  8. 新基建安全怎么做?看看这场院士领衔的高峰对话
  9. HTML网页图片背景以及图片自适应设置
  10. OCR算法识别性能评估