-
2020-11-25 11:06:05
def digital_to_chinese(digital):
str_digital = str(digital)
chinese = {'1': '壹', '2': '贰', '3': '叁', '4': '肆', '5': '伍', '6': '陆', '7': '柒', '8': '捌', '9': '玖', '0': '零'}
chinese2 = ['拾', '佰', '仟', '万', '厘', '分', '角']
jiao = ''
bs = str_digital.split('.')
yuan = bs[0]
if len(bs) > 1:
jiao = bs[1]
r_yuan = [i for i in reversed(yuan)]
count = 0
for i in range(len(yuan)):
if i == 0:
r_yuan[i] += '圆'
continue
r_yuan[i] += chinese2[count]
count += 1
if count == 4:
count = 0
chinese2[3] = '亿'
s_jiao = [i for i in jiao][:3] # 去掉小于厘之后的
j_count = -1
for i in range(len(s_jiao)):
s_jiao[i] += chinese2[j_count]
j_count -= 1
last = [i for i in reversed(r_yuan)] + s_jiao
last_str = ''.join(last)
print(str_digital)
print(last_str)
for i in range(len(last_str)):
digital = last_str[i]
if digital in chinese:
last_str = last_str.replace(digital, chinese[digital])
print(last_str)
return last_str
if __name__ == '__main__':
digital_to_chinese(123456789.456)
更多相关内容 -
python金额数字转大写代码
2020-08-10 23:43:10将金额数字转化为大写,格式规范标准。① 当没有零头时自动加xxxx元整 ② 小数能够精确到角、分、厘 ③ 能够处理1亿一下金额数字 ④ 使用方法:numToBig(金额),返回大写字符串 -
Python数字转换中文大写
2020-10-15 19:22:08关键在于如何解决10100中0的描述,通过判断上一位的值是否为‘’零‘’,具体看代码: list1 = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖', '拾'] list2 = ['圆', '拾', '佰', '仟', '萬'] ...关键在于如何解决10100中0的描述,通过判断上一位的值是否为‘’零‘’,具体看代码:
list1 = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖', '拾'] list2 = ['圆', '拾', '佰', '仟', '萬'] money = input("请输入金额:") money2 = '' for i in range(0, len(money)): if int(money[i]) != 0: money2 += list1[int(money[i])]+list2[len(money)-i-1] else: if money2[-1] != "零": money2 += "零" if money2[-1] == "零": print(money2[0:len(money2)-1]+"圆整") else: print(money2+"整")
-
Python 数字转中文大写
2020-10-23 17:31:30本人找了很多文章,对于数字转中文大写的都没有很好的支持,尤其是单位不同的时候,于是找了一组代码稍加修改,运行流畅,输出准确。放上来算是给社区一点小贡献。转载记得加上这个链接哦。有问题欢迎留言和私信。有...本人找了很多文章,对于数字转中文大写的都没有很好的支持,尤其是单位不同的时候,于是找了一组代码稍加修改,运行流畅,输出准确。放上来算是给社区一点小贡献。转载记得加上这个链接哦。有问题欢迎留言和私信。有时间都乐意解答。
后面的try,只是我懒得写判断语句,加上判断类型就可以知道是整数还是小数。原则能用就行,反正很简单…
特意说下,用try的速度会比较慢哦。def shuzi(num): dic_num = {"1": "壹", "2": "贰", "3": "叁", "4": "肆", "5": "伍", "6": "陆", "7": "柒", "8": "捌", "9": "玖", } dic_unit = {1: "", 2: "拾", 3: "佰", 4: "仟", 5: "万"} while 1: fs = [] fs1 = [] daxie = "" xiaoshu = '' bs = num.split('.') if len(bs) > 1: yuan = bs[0] lennum = len(bs[0]) if lennum >= 1: for item in bs[0]: if int(item) > 0: fs.append(dic_num[item]) fs.append(dic_unit[lennum]) elif int(item) == 0: fs.append("零") lennum -= 1 daxie = "".join(fs) lennum1 = len(bs[1]) if lennum1 >= 1: for item in bs[1]: if int(item) > 0: fs1.append(dic_num[item]) fs1.append(dic_unit[lennum1]) elif int(item) == 0: fs1.append("零") lennum1 -= 1 while fs1[-1] == "零": fs1.pop() xiaoshu = "".join(fs1) daxie = daxie + "点" + xiaoshu else: lennum = len(num) if lennum >= 1: for item in num: if int(item) > 0: fs.append(dic_num[item]) fs.append(dic_unit[lennum]) elif int(item) == 0: fs.append("零") lennum -= 1 while fs[-1] == "零": fs.pop() daxie = "".join(fs) daxie += "万圆"#这里修改后缀 try: if int(num) % 10 == 0: daxie = daxie + "整" except: pass return daxie
-
python实现人民币大写转换
2020-12-23 13:38:34本文实例为大家分享了python实现人民币大写转换的具体代码,供大家参考,具体内容如下 #!/usr/bin/python # -*- coding:utf-8 -*- # ********* 转换方法介绍 ********* # 将需要转换的数字从右向左,每4位分成一个... -
python程序设计 将阿拉伯数字转换为大写数字
2021-07-07 20:04:01将阿拉伯数字转换为大写数字,主要解决小数点问题, -
python 数字转换为大写
2021-03-05 15:22:40在会计的时候,用到将数字转换为大写,也就是讲数字转为汉字class cnumber:cdict = {}gdict = {}xdict = {}def __init__(self):self.cdict = {1: u'', 2: u'拾', 3: u'佰', 4: u'仟'}self.xdict = {1: u'元', 2: u'...在会计的时候,用到将数字转换为大写,也就是讲数字转为汉字
class cnumber:
cdict = {}
gdict = {}
xdict = {}
def __init__(self):
self.cdict = {1: u'', 2: u'拾', 3: u'佰', 4: u'仟'}
self.xdict = {1: u'元', 2: u'万', 3: u'亿', 4: u'兆'} # 数字标识符
self.gdict = {0: u'零', 1: u'壹', 2: u'贰', 3: u'叁', 4: u'肆', 5: u'伍', 6: u'陆', 7: u'柒', 8: u'捌', 9: u'玖'}
def csplit(self, cdata): # 拆分函数,将整数字符串拆分成[亿,万,仟]的list
g = len(cdata) % 4
csdata = []
lx = len(cdata) - 1
if g > 0:
csdata.append(cdata[0:g])
k = g
while k <= lx:
csdata.append(cdata[k:k + 4])
k += 4
return csdata
def cschange(self, cki): # 对[亿,万,仟]的list中每个字符串分组进行大写化再合并
lenki = len(cki)
i = 0
lk = lenki
chk = u''
for i in range(lenki):
if int(cki[i]) == 0:
if i < lenki - 1:
if int(cki[i + 1]) != 0:
chk = chk + self.gdict[int(cki[i])]
else:
chk = chk + self.gdict[int(cki[i])] + self.cdict[lk]
lk -= 1
return chk
def cwchange(self, data):
cdata = str(data).split('.')
cki = cdata[0]
if len(cdata) == 1:
i = 0
chk = u''
cski = self.csplit(cki) # 分解字符数组[亿,万,仟]三组List:['0000','0000','0000']
ikl = len(cski) # 获取拆分后的List长度
# 大写合并
for i in range(ikl):
if self.cschange(cski[i]) == '': # 有可能一个字符串全是0的情况
chk = chk + self.cschange(cski[i]) # 此时不需要将数字标识符引入
else:
chk = chk + self.cschange(cski[i]) + self.xdict[ikl - i] # 合并:前字符串大写+当前字符串大写+标识符
chk = chk + u'整'
else:
i = 0
chk = u''
cski = self.csplit(cki) # 分解字符数组[亿,万,仟]三组List:['0000','0000','0000']
ikl = len(cski) # 获取拆分后的List长度
# 大写合并
for i in range(ikl):
if self.cschange(cski[i]) == '': # 有可能一个字符串全是0的情况
chk = chk + self.cschange(cski[i]) # 此时不需要将数字标识符引入
else:
chk = chk + self.cschange(cski[i]) + self.xdict[ikl - i] # 合并:前字符串大写+当前字符串大写+标识符
# 处理小数部分
ckj = cdata[1]
lenkj = len(ckj)
if lenkj == 1: # 若小数只有1位
if int(ckj[0]) == 0:
chk = chk + u'整'
else:
chk = chk + self.gdict[int(ckj[0])] + u'角整'
else: # 若小数有两位的四种情况
if int(ckj[0]) == 0 and int(ckj[1]) != 0:
chk = chk + u'零' + self.gdict[int(ckj[1])] + u'分'
elif int(ckj[0]) == 0 and int(ckj[1]) == 0:
chk = chk + u'整'
elif int(ckj[0]) != 0 and int(ckj[1]) != 0:
chk = chk + self.gdict[int(ckj[0])] + u'角' + self.gdict[int(ckj[1])] + u'分'
else:
chk = chk + self.gdict[int(ckj[0])] + u'角整'
return chk
if __name__ == '__main__':
pt = cnumber()
print(pt.cwchange('14524')) # 壹万肆仟伍佰贰拾肆元整
-
Python转换数字到中文大写格式
2020-11-20 23:41:44今天有人在群里问到Python怎么把小写数字转换成中文的大写字符,觉得这个问题很有趣,于是想了一下,就开始写代码了。以下是代码,感觉不足的地方就是如果是1001元,那么就会转换成 壹仟零佰零拾壹圆,多了个零。这... -
Python实现把数字转换成中文
2020-09-21 22:37:32主要介绍了Python实现把数字转换成中文,一般用于数字金额转中文大写金额,即将阿拉伯数字转换为大写的中文,需要的朋友可以参考下 -
Python实现中文数字转换为阿拉伯数字的方法示例
2020-12-25 04:11:34本文实例讲述了Python实现中文数字转换为阿拉伯数字的方法。分享给大家供大家参考,具体如下: 一、需求 今天写了三千二百行代码。 今天写了3200行代码。 两行意思相同,只是表达方式不太能够,统一掉。 二、原理 ... -
python 把数字转换成中文大写
2021-03-24 21:05:00把数字转换成中文大写,例如:1->一 ,25->二十五,49->四十九 Parameters ---------- intnumber : TYPE DESCRIPTION. Returns ------- TYPE DESCRIPTION. ''' numberList = ['零','一','二. -
python 数字转换为汉字大写
2020-08-25 09:21:14在会计的时候,用到将数字转换为大写,也就是讲数字转为汉字 class cnumber: cdict = {} gdict = {} xdict = {} def __init__(self): self.cdict = {1: u'', 2: u'拾', 3: u'佰', 4: u'仟'} self.xdict = {1:... -
python中将阿拉伯数字转换成中文的实现代码
2020-12-24 08:32:25/usr/bin/python #-*- encoding: utf-8 -*- import types class NotIntegerError(Exception): pass class OutOfRangeError(Exception): pass _MAPPING = (u’零’, u’一’, u’二’, u’三’, u’四’, u’五’, u... -
python3 数字转人民币大写
2020-11-24 06:57:57依次遍历数字字符串的每一位数字 for i in range(num_len) : # 把字符串转成数值 num = int(num_str[i]) # 如果不是最后一位数字,而且数字不是零,则需要添加单位(千、百、十) if i != num_len - 1 and num != 0 ... -
python数字转汉字-Python转换数字到中文大写格式
2020-11-11 14:00:26今天有人在群里问到Python怎么把小写数字转换成中文的大写字符,觉得这个问题很有趣,于是想了一下,就开始写代码了。以下是代码,感觉不足的地方就是如果是1001元,那么就会转换成 壹仟零佰零拾壹圆,多了个零。这... -
python 人民币数字转汉字大写金额
2020-11-20 23:46:321 '''2 人民币数字转大写汉字3 '''45 #coding: utf-86 importwarnings7 from decimal importDecimal89 def cncurrency(value, capital=True, prefix=False, classical=None):10 '''11 参数:12 capital: True 大写... -
Python编写数字转换成中文大写
2021-09-15 22:33:34问题描述:输入一串数字金额,然后打印出它的中文大写。 利用列表下标进行转换。 list1 = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖', '拾'] list2 = ['圆', '拾', '佰', '仟', '萬'] money ... -
python 实现金额数字转成大写
2020-12-10 14:57:17def cncurrency(value, capital=True, prefix=False, classical=None):'''参数:capital: True 大写汉字金额False 一般汉字金额classical: True 元False 圆prefix: True 以'人民币'开头False, 无开头'''if ... -
Python将数字转化为中文大写的实例代码
2021-03-05 15:22:06Python将阿拉伯数字转化为中文大写,关键点在于中间空多个0的问题。这种情况下,采用拆分法则,将一个大数字,先拆分成整数部分和小数部分,再对整数部分按照仟、万、亿、兆分位拆分为四个字符串组成的List,每个... -
python 转换数字为中文的大写
2016-12-02 11:51:46python 转换数字为中文的大写 python 转换为中文的大写数字,比较简单,有需要的同学可以拿去使用,没做角和分 可以自己修改 下面为代码 #-*-coding:utf-8 -*- import logging import urllib2 # urllib2.request_... -
Python 阿拉伯数字转换为中文大写数字
2020-03-28 23:50:09附阿拉伯数字对应的中文大写: 思路 1. 通过定义一个字典进行阿拉伯数字与大写中文的对比储存 2. 将用户的输入首先分割为整数与小数部分分别进行处理 3. 整数部分可以分割为以 4 位数字为一组的列表来进行... -
python金额数字转大写完整代码
2020-08-07 00:01:31将小写阿拉伯数字转换为大写,如: 13501.52 -> 壹万叁仟零壹元伍角贰分 1500 -> 壹千伍佰元整 限制:数字小于100万 完整代码 #Author:N'sFan #Date:2020/8/6 24:00 def numToBig(num): dict1 = {1:'壹',2:'... -
python人民币小写转大写辅助工具
2020-12-25 15:03:06大家应该都知道,银行打印账单有时候会跟上人民币的阿拉伯数字以及人民币汉字大写写法,转换的过程中有一定的逻辑难度,较为麻烦,所以笔者心血来潮,花了点时间简单实现了一下这一转换过程,以供初学者参考。... -
1.(python)阿拉伯数字转中文大写
2020-10-09 19:13:21dic_num = {"1": "壹", "2": "贰", "3": "叁", "4": "肆", "5": "伍", "6": "陆", "7": "柒", "8": "捌", "9": "玖", } ... num = input("\n请输入数字(1-99999),若输入q则退出程序:") if int(num) &l.