用Python3实现的一个数字转汉字大写金额源码

Python关键词与标识符:零基础必懂的语法铁律 Python标识符是开发者命名变量、函数和类的唯一合法载体,其合法性由Unicode字符规则与词法分析阶段严格校验;关键词则是解释器预置的保留字,如if、for、def、async等,在编译期即被锁定为语法锚点,不可用作标识符。二者共同构成Python语法解析的第一道防线,直接决定代码能否通过SyntaxError校验。掌握35个关键词用途、isidentifier()与keyword.iskeyword()的联合验证方法,以及snake_case命名规范,是避免常见语法错误、提升代码可读性与团队协作效率的 阅读详情
#! /bin/python
# -*- coding:utf-8 -*-

from decimal import Decimal
from decimal import getcontext

num_to_ch_dic = { 0:'零', '.':'点', 1:'壹', 2:'贰', 3:'叁', 4:'肆',5:'伍',6:'陆',7:'柒',8:'捌',9:'玖', 10:'z'}
li_dw = [ '萬','亿','萬']
character_num = ['壹', '贰', '叁', '肆','伍','陆','柒','捌','玖']
li_dot = [ '分','角']
li_mod = list("拾佰仟")

if __name__ == '__main__':
    str_num = input("Please Input a num: ")
    #str_num = "1000000001000001"
    final_str = ''

    detail_dw = list("分角圆拾佰仟")
    for i in li_dw :
        detail_dw.append(i)
        for j in li_mod :
            detail_dw.append(j)
    detail_dw.reverse()
    max_len = len(detail_dw)

    li_num = list(str(int(Decimal(str_num) * 100)).rjust(max_len, '0'))
    li_dw.append('圆')
    index_tmp = 0
    while index_tmp < max_len :
        if detail_dw[index_tmp] in li_dw :
            if li_num[index_tmp] == '0':
                li_num[index_tmp] = '10'
        li_num[index_tmp] = num_to_ch_dic[int(li_num[index_tmp])]
        index_tmp = index_tmp + 1
    li_num_str = ''.join(li_num)
    li_num_str = li_num_str.replace('零零零z','---z')
    li_num_str = li_num_str.replace('零零z', '--z')
    li_num_str = li_num_str.replace('z零零', 'z--')
    li_num_str = li_num_str.replace('z零', 'z-')
    li_num_str = li_num_str.replace('零z', '-z')
    li_num = list(li_num_str)
    index_tmp = 0

    start_sign = 0
    while index_tmp < max_len:
        if start_sign == 0:
            if li_num[index_tmp] in character_num:
                start_sign = 1
                final_str = li_num[index_tmp] + detail_dw[index_tmp]
        elif start_sign == 1:
            if li_num[index_tmp] == 'z':
                final_str = final_str + detail_dw[index_tmp]  + '零'
            elif li_num[index_tmp] == '-':
                final_str = final_str + ''
            elif li_num[index_tmp] == '零':
                final_str = final_str + '零'
            else:
                final_str = final_str + li_num[index_tmp] + detail_dw[index_tmp]
        index_tmp = index_tmp + 1
    if start_sign == 0:
        final_str = '零圆零分整'
    else:
        final_str = final_str .replace('零零', '零')
        final_str = final_str.replace('亿萬', '亿零')
        final_str = final_str + '整'
        final_str = final_str .replace('圆零整', '圆整')
        final_str = final_str .replace('角零整', '角整')
        final_str = final_str .replace('零零', '零')
    print(final_str)


 

数字转人民币(大写汉字)读法(Python经典编程案例) 数字转人民币读法 import warnings from decimal import Decimal def cncurrency(value, capital=True, prefix=False, classical=None): ''' 人民币数字转大写汉字,参数: capital: True 大写汉字金额 False... 阅读详情

相关推荐

4G+GNSS定位模块DX-CT511N-B:AT指令实战与多协议通信指南

本文详细介绍了4G+GNSS定位模块DX-CT511N-B的AT指令实战应用与多协议通信配置。内容涵盖TCP/UDP通信、MQTT协议集成、HTTP服务交互以及GNSS定位功能的深度解析,为开发者提供从基础指令到高级调试的完整指南,助力物联网设备开发。

hope8的博客 289

数字转人民币大写-python实现

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...

830

图像识别火灾检测系统实战:从火焰特征到YOLO部署全解析

计算机视觉技术正深入改变传统消防的感知方式。图像识别火灾检测利用摄像头采集的视频流,通过颜色、动态和形态特征分析,实现早期火情的自动发现与定位。其核心原理在于,火焰在视觉上具有独特的颜色分布、闪烁特性和轮廓变化,借助目标检测模型如YOLO,可在复杂场景中区分真实火焰与干扰物。这项技术广泛应用于仓库、园区、隧道等大空间场所,是智慧消防的重要支撑。本文从火焰视觉特征、数据集构建、模型选型与系统架构设计出发,结合部署实践中的误报与算力优化经验,为开发者提供一套可落地的视频火焰检测方案。

weixin_42533751的博客 244

python实现数字金额转中文大写

需求:将数字金额转换为中文大写,最大支持到亿。

conanwty的博客 1302

银河麒麟系统V10 sp1,安装wine 9.0

银河麒麟系统V10 sp1 x86_64,安装wine 9.0

daqinzl的专栏 1万+

避坑指南:ShardingSphere连接达梦/金仓数据库时SQL解析器的那些‘坑‘

本文深入探讨了ShardingSphere与国产数据库(如达梦、金仓)集成时遇到的SQL解析器差异问题,提供了详细的解决方案和优化策略。通过分析SQL方言差异、JDBC实现差异及解析器兼容性,帮助开发者有效避坑,提升分布式数据库架构设计的效率与稳定性。

weixin_29309475的博客 392

Python 中文(大写)数字转阿拉伯数字

中文转数字,小数的化考虑点字进一步封装即可。 # constants for chinese_to_arabic CN_NUM = { '〇' : 0, '一' : 1, '二' : 2, '三' : 3, '四' : 4, '五' : 5, '六' : 6, '七' : 7, '八' : 8, '九' : 9, '零' : 0, '壹' : 1, '贰' : 2, '叁' :...

Just for fun的专栏 1万+

解密高并发系统的瓶颈:五大解决方案

在互联网应用中,高并发是指在短时间内同时有大量的用户访问一个网站或服务,造成系统压力过大,导致服务器宕机或服务停止响应的情况。高并发是互联网应用面临的一个重要问题,需要采取一系列措施来解决。负载均衡、缓存、数据库优化、异步处理和分布式架构是解决高并发问题的主要方法。在实际应用中,需要根据具体情况选择不同的方法来解决高并发问题。在高并发情况下,使用负载均衡是解决问题的一种常见方法。负载均衡可以通过将请求分配到多个服务器上,从而减少单个服务器的负载。这可以通过硬件设备或软件实现。

BUG制造者:图图 <p>这是一个P标签</p> 3902

python数字转中文大写_python3 数字转人民币大写

'''把一个浮点数分解成整数部分和小数部分字符串num 需要被分解的浮点数返回分解出来的整数部分和小数部分。第一个数组元素是整数部分,第二个数组元素是小数部分'''def divide(num):# 将一个浮点数强制类型转换为int型,即得到它的整数部分integer = int(num)# 浮点数减去整数部分,得到小数部分,小数部分乘以100后再取整得到2位小数fraction = round(...

weixin_39608748的博客 520

Cryptomatte For Nuke的安装

进入官网https://github.com/Psyop/Cryptomatte,下载文件代码。 将Cryptomatte/nuke里的文件内容复制粘贴到 .nuke文件夹内。 在我们复制粘贴的内容中可以看到两个文件。 同时,我们进入nuke的下载目录,打开plugins文件夹,看到和插件中一样python文件——init.py和menu.py。 我们将Cryptomatte里的init.py和menu.py里的python代码复制粘贴到Nuke/plugins下的init...

qq_41627587的博客 9061

1分钟吃透一篇文献,借助AI辅助各部分精读,效率提升10倍(附AI提示词)

你现在是一名【研究领域】的资深博士,非常擅长阅读与分析长篇论文,那么接下来我会给你上传一篇论文,请你按照我的要求辅助我阅读。

qq_64378896的博客 635

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

Python实现数字转人民币(大写汉字)源代码,运行截图: 完整程序代码 import warnings from decimal import Decimal def cncurrency(value, capital=True, prefix=False, classical=None): ''' 人民币数字转大写汉字,参数: capital: True 大写汉字金额 False 一般汉字金额 classical: Tr

Python代码大全 1524

【NLP】第十章:位置编码Positional Encoding

前面讲RNN时一般都会有一个ht的输出,这个输出就是样本与样本之间的信息,而且RNN是时序循环的,所以RNN本身的结构,在物理上,就自带词的前后顺序信息的。比如词never,不管never本身的词向量是什么,只要你在序列中排第一个位置,你的位置向量就是[0,1,01],你排第三个位置,你的位置向量就是[0.9,-0,4,0.2,1.0]。也所以,你可以理解为:embedding后的词嵌入,PE按照每个样本在sequence中的位置,把embedding后的词嵌入给扭转后,才送入attention的。

因为热爱所以坚持 1917

Python将汉字数字转换成阿拉伯数字的方法

refer from:http://www.iplaypy.com/code/base/b2600.html Python将汉字数字转换成阿拉伯数字的方法 用Python语言来为不同数字之间做转换之前就有介绍过,今天分享的是用Python将汉字数字转换成阿拉伯数字的方法。汉字数字就是我们的大写数字:零、壹、贰、叁、肆、伍、陆、柒、捌、玖、拾,这种只有在会计人员才会常用的数字。

yusisc的博客 1万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Python编程案例:中文金额转换并计算

Python编程案例:中文金额转换并计算 ​ 平时的工作、生活中经常遇到金额是中文大写的表达方式,那么就无法直接进行计算和统计。这样就需要将中文大写的金额转换为小写的阿拉伯数字,来计算总额,并将计算结果输出。实现这个功能需要用到rmbTrans模块。 运行环境: OS:macOS Monterey Version 12.3.1 IDE:PyCharm 2020.1 首先需要安装rmbTrans模块,在命令行输入如下命令: (venv) (base) liuxiaowei@MacBookAir % pip

Bruce_xiaowei的博客 1837

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

python批量生成word报告_Python操作Word批量生成合同的实现示例

背景:大约有3K家商家需要重新确认信息并签订合同。合同是统一的Word版本。每个供应商需要修改合同内的金额部分。人工处理方式需要每个复制粘贴且金额要生成大写金额。基于重复工作可偷懒。用Python解救一下。#导入对应数据库import numpy as npimport pandas as pdimport osimport docxfrom docx.shared import Ptfrom d...

weixin_39554891的博客 197

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

python自动生成word报告_Python操作Word批量生成合同的实现示例

背景:大约有3k家商家需要重新确认信息并签订合同。合同是统一的word版本。每个供应商需要修改合同内的金额部分。人工处理方式需要每个复制粘贴且金额要生成大写金额。基于重复工作可偷懒。用python解救一下。#导入对应数据库import numpy as npimport pandas as pdimport osimport docxfrom docx.shared import ptfrom d...

weixin_39543655的博客 201

C++高性能汉字转拼音库实战:从原理到工程集成

汉字转拼音是中文信息处理中的基础技术,其核心原理是将汉字字符映射到对应的拼音音节,并解决多音字消歧等关键问题。这项技术的价值在于为搜索引擎、输入法、语音合成等应用提供底层支持,直接影响系统的处理效率和准确性。在工程实践中,高性能场景对转换速度有苛刻要求,C++凭借其接近硬件的执行效率和精细的内存控制能力,成为实现这类基础组件的理想选择。通过哈希表、Trie树等数据结构优化查询性能,结合CMake构建工具和现代C++ API设计,可以打造出易于集成、功能完备的工业级解决方案。本文以实际项目为例,深入探讨了C+

weixin_34277853的博客 433

分享5个AI办公新玩法,1行Python代码免费实现!

免费,好用

weixin_42321517的博客 710

Llama 3.3实战:中文长文本轻量化部署与生产级API构建

大语言模型(LLM)在中文场景落地常面临长文本理解弱、推理延迟高、部署成本重三大瓶颈。其核心原理在于模型架构适配、量化精度控制与Tokenizer语义对齐的协同优化;技术价值体现在显存压缩50%+、首token延迟压至300ms内、关键实体识别F1提升25%以上;典型应用于法律文书摘要、医疗报告解析、政务公文处理等高价值垂直领域。本文聚焦社区广泛验证的‘Llama 3.3’工程实践体系,深度融合LoRA微调与GGUF量化,提供可复现的中文长文本轻量化部署方案。

cojm55771的博客 387

java/php/net/python基于的某高校校园帮(跑腿)系统【2024年毕设】

管理员功能模块为管理员操作界面,主要包括首页,个人中心,用户管理,用户钱包管理,余额充值管理,扣减金额管理,跑腿员管理,任务信息管理,任务接单管理,服务订单管理,佣金提现管理,跑腿员留言管理,用户留言管理,系统管理等功能;springboot基于springbootvue框架的零售店记账系统。springboot基于springboot的小型超市库存管理系统。springboot基于Android的垃圾分类系统。springboot江口县旅游网站的设计与实现。ssm基于web的汉字文化交流学习系统。

sheji229的博客 913
上一篇: Makefile模版(proC)
下一篇: 我的Vim配置(vimrc记录和改进学习使用)
Malloc_New
博客等级 码龄11年 0粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值