首页 > 其他分享 >数字转中文大写

数字转中文大写

时间:2023-06-18 12:11:36浏览次数:27  
标签:count 中文 last 数字 jiao 大写 str digital yuan

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(f'{float(str_digital):,.3f}')
    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(123000789.456)

 

标签:count,中文,last,数字,jiao,大写,str,digital,yuan
From: https://www.cnblogs.com/daizichuan/p/17488945.html

相关文章

  • Hugging News #0616: 有几项非常重要的合作快来围观、最新中文演讲视频回放发布!
    每一周,我们的同事都会向社区的成员们发布一些关于HuggingFace相关的更新,包括我们的产品和平台更新、社区活动、学习资源和内容更新、开源库和模型更新等,我们将其称之为「HuggingNews」,本期HuggingNews有哪些有趣的消息,快来看看吧!重磅更新safetensors将成为保存模型的默......
  • 为什么要推进人才工作数字化转型?
    推进人才工作数字化转型的原因主要有以下几点:一、提高工作效率通过数字化手段,可以将繁琐、重复的工作自动化,从而减轻人力资源工作者的工作负担,提高工作效率。例如,利用人才信息系统,可以实现简历筛选、面试安排等流程的自动化处理,大幅度节约时间和精力。二、优化管理模式数字化转型可......
  • SQL语句_数字运算
    Store_Info表:store_namesalesdateA50001-01-2000B20002-01-2000A150002-10-2000D100003-08-2000AVG(平均):SELECT AVG(sales)FROMStory_InfoWHEREstore_name='A' 查商品A的平均售价。AVG(sales)1000COUNT(计数):SELECTCOUNT......
  • 开源数字药店系统源码:打造高效的医药销售平台
    作为医药销售的全新解决方案,数字药店系统源码能够为医药企业提供更高效的销售解决方案,提高企业的竞争力。本文将详细介绍开源数字药店系统源码的特点和优势,以及如何打造高效的医药销售平台。一、开源数字药店系统源码的特点1. 功能丰富具有完善的功能,包括商品管理、订单管理、客户......
  • NFT数字藏品平台在我国经营需要哪些资质牌照呢?
    (一)区块链信息服务备案NFT的上链、交易等都离不开区块链,根据《区块链信息服务管理规定》规定,需通过国家互联网信息办公室区块链信息服务备案管理系统(bcbeian.ifcert.cn/index)履行备案手续。若平台还属于区块链信息服务提供者(如自带上链服务),则还需履行用户信息认证等义务。(二)增......
  • PHPSTORM 2020中文版下载 软件大全
    PhpStorm和ZendStudio一样,依然是Java内核开发的一款功能强大的PHPIDE代码编辑器,支持windows和linux平台。PhpStorm7开始支持PHP5.5了,改进PHP代码高亮颜色等。PhpStorm常适合于PHP开发人员及前端工程师。提供诸于:智能HTML/CSS/JavaScript/PHP编辑、代码质量分析、版本控制集成(SVN......
  • Office Visio中文(英文)破解版64位/32位软件 软件大全
    MicrosoftVisio2019是Office软件系列中的负责绘制流程图和示意图的软件,是一款便于IT和商务人员就复杂信息、系统和流程进行可视化处理、分析和交流的软件。可以帮助用户创建具有专业外观的图表,以便理解、记录和分析信息、数据、系统和过程,促进对系统和流程的了解,深入了解复杂信......
  • P4305 [JLOI2011] 不重复数字
    思路:新建一个数组或者哈希表,检查新输入的元素是否在里面,如果在就pass,如果不在就作为新元素存进去,最后输出即可数组实现:60分#include<bits/stdc++.h>usingnamespacestd;intmain(){intnum;cin>>num;for(num;num>=1;num--){intn,x;cin>>n;......
  • 「ULSG-1」数字生命 题解
    题目传送门题目描述给定一段长度为\(n\)的序列,找出其中长度为\(m\)的一段子序列,且其中各数字出现次数与给定模板中相对应的次数不相同的数字等于\(k\)。题目解法容易联想到一个用于求固定长度区间最大值的\(O(n)\)算法——「滑动窗口」,此题可借鉴此算法。我们以此题的......
  • 101 显示数组中的大写字母 小写字母 数字
    packagecom.fqs.demo001;importjava.util.Scanner;publicclassCompare{publicstaticvoidmain(String[]args){//键盘录入一个字符串,统计该字符串大写字母字符,小写字母字符,数字字符出现的次数//比如ABCabc123Scannersc=newScanner(......