精华内容
下载资源
问答
  • 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-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怎么把小写数字转换成中文大写字符,觉得这个问题很有趣,于是想了一下,就开始写代码了。以下是代码,感觉不足的地方就是如果是1001元,那么就会转换成 壹仟零佰零拾壹圆,多了个零。这...

    今天有人在群里问到Python怎么把小写数字转换成中文的大写字符,觉得这个问题很有趣,于是想了一下,就开始写代码了。

    以下是代码,感觉不足的地方就是如果是1001元,那么就会转换成 壹仟零佰零拾壹圆,多了个零。这个代码python2和python3都可以运行。

    # -*- coding:utf-8 -*-

    # date: 2018-02-28 11:48

    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)

    last_str = last_str.replace("0百", "0").replace("0十", "0").replace("000", "0").replace("00", "0").replace("0圆", "圆")

    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)

    这是输出

    123456789.456

    1亿2仟3佰4拾5万6仟7佰8拾9圆4角5分6厘

    壹亿贰仟叁佰肆拾伍万陆仟柒佰捌拾玖圆肆角伍分陆厘

    展开全文
  • python数字转换成中文大写

    千次阅读 2017-03-31 10:54:14
    python数字转换成中文大写代码#-*- coding:utf-8 -*- count_map = {1:1, 2:10, 3:100, 4:1000, 5:10000} #用来统计传入数值的级别 def set_to_chinese(money, s): end_map = {10:u'拾',100:u'佰',1000:u'仟',10000:...

    python数字转换成中文大写

    代码

    #-*- coding:utf-8 -*-
    count_map = {1:1, 2:10, 3:100, 4:1000, 5:10000}
    #用来统计传入数值的级别
    def set_to_chinese(money, s):
        end_map = {10:u'拾',100:u'佰',1000:u'仟',10000:u'万'}
        trans_map = {0:u'零',1:u'壹',2:u'贰',3:u'叁',4:u'肆',
                     5:u'伍',6:u'陆',7:u'柒',8:u'捌',9:u'玖'}
        if s == 1:
            return trans_map[money]
        if money%s == 0:
            return trans_map[money/s]+end_map[s]
        else:
            mid = trans_map[0] if len(str(money))\
                  -len(str(money%s))>1 else u''
            return trans_map[money/s]+end_map[s]+ mid +\
                   set_to_chinese(money%s, 
    money = 3840
    print set_to_chinese(money, count_map[len(str(money))])
    #叁仟捌佰肆拾
    
    展开全文
  • 今天有人在群里问到Python怎么把小写数字转换成中文大写字符,觉得这个问题很有趣,于是想了一下,就开始写代码了。以下是代码,感觉不足的地方就是如果是1001元,那么就会转换成 壹仟零佰零拾壹圆,多了个零。这...
  • python 人民币数字转大写中文

    千次阅读 2019-03-27 17:55:34
    def digital_to_chinese(digital): str_digital = str(digital) chinese = {'1': '壹', '2': '贰', '3': '叁', '4': '肆', '5': '伍', '6': '陆', '7': '柒', '8': '捌', '9': '玖', '0': '零'} ...
  • python数字金额转换为中文大写金额

    千次阅读 2020-06-28 17:41:30
    python数字金额转换为中文大写金额 编写一函数,将数字金额转换为中文大写金额。设最高位考虑到亿,最低位考虑到分(如:数字金额为1023.445,转换为中文大写金额为:壹仟零佰贰拾叁元肆角伍分)。输入:一个数字...
  • 附阿拉伯数字对应的中文大写: 思路 1. 通过定义一个字典进行阿拉伯数字与大写中文的对比储存 2. 将用户的输入首先分割为整数与小数部分分别进行处理 3. 整数部分可以分割为以 4 位数字为一组的列表来进行...
  • 数字转换成中文大写,例如:1->一 ,25->二十五,49->四十九 Parameters ---------- intnumber : TYPE DESCRIPTION. Returns ------- TYPE DESCRIPTION. ''' numberList = ['零','一','二.
  • dic_num = {"1": "壹", "2": "贰", "3": "叁", "4": "肆", "5": "伍", "6": "陆", "7": "柒", "8": "捌", "9": "玖", } ... num = input("\n请输入数字(1-99999),若输入q则退出程序:") if int(num) &l.
  • python 转换数字中文大写

    千次阅读 2016-12-02 11:51:46
    python 转换数字中文大写 python 转换为中文大写数字,比较简单,有需要的同学可以拿去使用,没做角和分 可以自己修改 下面为代码 #-*-coding:utf-8 -*- import logging import urllib2 # urllib2.request_...
  • Python数字转换为中文大写

    万次阅读 2013-04-06 04:26:50
    利用Python将阿拉伯数字转化为中文大写,其实最麻烦的地方就是中间空多个0的问题,这种情况下,采用拆分法则,将一个大数字,先拆分成整数部分和小数部分,再对整数部分按照仟、万、亿、兆分位拆分为四个字符串组成...
  • python 人民币数字转汉字大写金额

    千次阅读 2019-06-27 20:06:19
    中文大写方式中,0到10以及100、1000、10000被依次表示为: 零 壹 贰 叁 肆 伍 陆 柒 捌 玖 拾 佰 仟 万 以下的例子示范了阿拉伯数字到人民币大写的转换规则: 1 壹圆 11 壹拾壹圆 111 壹佰壹拾壹圆 101 壹佰...
  • Python实现将数字转换为大写中文

    千次阅读 2020-07-09 18:28:25
    实现代码一 ...import re from decimal import Decimal, ROUND_HALF_UP ZH_HANS_MAP = dict(zip(range(10), "零壹贰叁肆伍陆柒捌玖")) def verbose_price(cost): cost = Decimal(cost).quantize(Decimal('0.00'), ...
  • 实验目的:在银行的日常业务中,常常需要用到将阿拉伯数字转换为中文大写数字的功能。在这次实验,你将编写一个程序,将用户输入的阿拉伯数字代表的金额,转换为大写数字。 程序运行过程: 1. 提示用户输入金额的...
  • number=("零","壹","贰","叁","肆","伍","陆","柒","捌","玖") units=("拾","佰","千","万","亿") last=0 last1=0 def handle(temp=101,flag=0): global last,last1 if int(temp/1e4)!=0: handle(int(temp/1e4),1...
  • 周末在家,写了个小程序,用于将阿拉伯数字转换化大写中文。程序没经过任何优化,出没经过详细的测试,挂到网上,方便将来有需要的时候直接拿来用。#!/usr/bin/python#-*- encoding: utf-8 -*-import typesclass ...
  • Python 中文(大写)数字转阿拉伯数字

    千次阅读 2018-08-16 11:58:33
    中文转数字,小数的化考虑点字进一步封装即可。 # constants for chinese_to_arabic CN_NUM = { '〇' : 0, '一' : 1, '二' : 2, '三' : 3, '四' : 4, '五' : 5, '六' : 6, '七' : 7, '八' : 8, '九' : 9, '零' : ...
  • 输入:金额的中文大写(字符串) 输出:阿拉伯数字(float或int型) 整数部分主要是利用正则表达式进行检索,将对应项的数字与单位列表的对应项相乘并求和,小数部分也是一样的手法,但是由于可能存在只有角的情况,...
  • 数字转中文大写-Java

    2019-06-06 16:26:00
    2019独角兽企业重金招聘Python工程师标准>>> ...
  • 分小数和整数部分进行处理 末尾的零应舍弃 中间有连续多个零,只取一个零 整数部分从右往左以4位为步长扫描
  • # constants for chinese_to_arabic ... '〇' : 0, '一' : 1, '二' : 2, '三' : 3, '四' : 4, '五' : 5, '六' : 6, '七' : 7, '八' : 8, '九' : 9, '零' : 0, '壹' : 1, '贰' : 2, '叁' : 3, '肆' : 4, '...
  • 最近在qq群经常看到一个题目,网上查找资料发现,有人实现了一半内容,都是在处理0的问题上卡住了,自己就尝试用刚开始学习的python写了一下。python处理这个问题还是比较方便。 题目: 代码: #!/usr/bin/env...

空空如也

空空如也

1 2 3 4 5
收藏数 94
精华内容 37
关键字:

python数字转中文大写

python 订阅