python:金额数字转为人民币大写
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:金额数字转为人民币大写相关推荐
- Python实现数字转人民币(大写汉字)源代码
Python实现数字转人民币(大写汉字)源代码,运行截图: 完整程序代码 import warnings from decimal import Decimaldef cncurrency(value ...
- 零基础实操 | Python实现数字转人民币(大写汉字)源代码
大家好,我是吒吒. 我们的工作中遇到一些问题,不依靠工具的话,改起来真的超级麻烦,还会遗漏.有个小伙伴提出怎么把数字转成人民币(大写汉字),Python还真的可以做到,并且挺简单的,新手都可以操作.下 ...
- C#通用类库--数字转为人民币汉字大写表示
//类名:EcanRMB //作用:数字转换为人民币大写 //作者:刘典武 //时间:2010-12-04 using System; using System.Collections.Generic ...
- 把数字金额转换成人民币大写[原创]
最近在用这个博客,感觉博客园不错,以前用的是新浪的,感觉这个更好,所以好多东西现在转到这边来了. 下面是一个数字转人民币大写的类,不啰嗦了,下面是代码: 1 /**/ /// <summ ...
- c#的输入数字自动转为人民币大写的方法
c#的输入数字自动转为人民币大写的方法 public static string ConvertRMB(double amount) {string[] units = { "", ...
- js 数字转人民币大写
目前网上有许多的数字转人民币大写功能,但是在某些数字上就回出现错误, 比如501356,这个转换之后,有的会转换成 "伍拾万零壹仟叁佰伍拾陆" ,单位万和千紧密相连,中间是不需要 ...
- oracle里存储函数将金额数字转换成大写
CREATE OR REPLACE FUNCTION NUMBER_TO_CHINESE(P_NUM IN NUMBER DEFAULT NULL)RETURN NVARCHAR2 IS/*Ver:1 ...
- js收据、发票等表格数据格式化,js把数字转为中文大写
1.表格金额格式化 /*** 把金额转为发票.收据等表格能遍历显示的数据* * @param {money} Numner 金额大小* @param {max} Numner 带(角.分的位数)* 例 ...
- C#数字转人民币大写
C#方法 废话不多说,直接上代码: /// <summary> /// 数字转换为大写人民币表示 /// </summary> /// <param name=" ...
- 金额数字 转中文大写
金额数字 转中文大写 有三种办法: //方法一: 代码最少: export function DX1(n) {if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(n))return ...
最新文章
- 免费教材丨第58期:机器学习相关汇总资料大放送(中)
- 2019山东夏令营摸鱼记
- 计算机发现概述教案,计算机网络概述教案
- 蓝懿教育九月八日记录
- 五家共井java_算法练习02:五家共井
- CF--思维练习-- CodeForces - 215C - Crosses(思维题)
- C/C++程序设计注意事项 (二)
- python和c的语法区别_python与c语言的语法有哪些不一样的
- selenium (二)
- html校园网页设计作品欣赏,26张很棒网页首屏设计作品欣赏
- Java Web入门之网络聊天室
- 未经授权,直接划扣资金!这些支付机构的用户要小心
- 音乐 组件 (音频, 视频)
- 对区块链技术的一些新思考
- 基于部标1078视频协议和苏标Adas协议构建主动平台
- AntV G6将节点修改成图片
- SEO判断是否是搜索引擎蜘蛛跳转(快照劫持)
- 微信开挂怎么防止封号_越狱过的手机怎样避免外挂微信被封
- 微信清除缓存的两种方法
- 【Vue3】利用watchEffect的清除副作用实现一个防抖函数