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

    elif isinstance( change_number, (int, long) ):
        real_numbers = [ int( i ) for i in str( change_number ) + '00' ]

    else:
        raise ValueError, '%s   can\'t change'%change_number

    zflag = 0                       #标记连续0次数,以删除万字,或适时插入零字
    start = len(real_numbers) - 3
    change_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 = 0
            change_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 = 0
        else:
            zflag += 1

    if change_words[-1] not in ( format_word[0], format_word[1]):
        # - 最后两位非"角,分"则补"整"
        change_words.append("整")

    return ''.join(change_words)

Python 把金额小写转换成大写2


功能将小于十万亿元的小写金额转换为大写
复制代码 代码如下:
  def IIf( b, s1, s2):
  if b:
    return s1
  else:
    return s2
def num2chn(nin=None):
    cs =
('零','壹','贰','叁','肆','伍','陆','柒','捌','玖','◇','分','角','圆','拾','佰','仟',
'万','拾','佰','仟','亿','拾','佰','仟','万')
    st = ''; st1=''
    s = '%0.2f' % (nin)    
    sln =len(s)
    if sln >; 15: return None
    fg = (nin<1)
    for i in range(0, sln-3):
        ns = ord(s[sln-i-4]) - ord('0')
        st=IIf((ns==0)and(fg or (i==8)or(i==4)or(i==0)), '', cs[ns])
      + IIf((ns==0)and((i;8)and(i;4)and(i;0)or fg
and(i==0)),'', cs[i+13])
      + st
        fg = (ns==0)
    fg = False
    for i in [1,2]:
        ns = ord(s[sln-i]) - ord('0')
        st1 = IIf((ns==0)and((i==1)or(i==2)and(fg or (nin<1))), '', cs[ns])
       + IIf((ns>;0), cs[i+10], IIf((i==2) or fg, '', '整'))
       + st1
        fg = (ns==0)
    st.replace('亿万','万')
    return IIf( nin==0, '零', st + st1)
if __name__ == '__main__':
  num = 12340.1
  print num
  print num2chn(num)

相关推荐:

日本 15 岁少年侵入万代南梦宫流媒体平台,利用 ChatGPT 编写自动化脚本注销 4 万余名用户账号

7 月 6 日消息,据日媒 TBS 报道,日本一名 15 岁少年因入侵万代南梦宫旗下动画流媒体平台“万代频道(バンダイチャンネル)”服务器、注销数万名用户账号,近日被警方逮捕。参考报道获悉,涉案人为居住在埼玉县所泽市的一名 15 岁高中一年级学生。其在 2025 年 11 月利用他人会员账号侵入万代频道服务器,批量注销平台 46812 名会员账号,导致运营方 Bandai Namco Filmwo...

贾跃亭及乐视汽车(北京)有限公司新增一则被执行人信息,执行标的 3531 万余元人民币

7 月 2 日消息,中国执行信息公开网显示,贾跃亭及乐视汽车(北京)有限公司今天新增一则被执行人信息,案号为(2026)京 04 执 515 号,执行标的 3531 万余元人民币,执行法院为北京市第四中级人民法院。据悉,乐视控股(北京)有限公司成立于 2011 年 9 月,法定代表人为吴孟,注册资本 10 亿人民币,经营范围包括项目投资、投资管理、资产管理、投资咨询等。注意到,贾跃亭曾在 2025...

Realta Fusion 成为首家实现等离子体直接能量转换的商业核聚变企业

7 月 1 日消息,美国商业核聚变企业 Realta Fusion 当地时间 30 日宣布,其在 6 月 19 日正式成为首家实现等离子体直接能量转换 (DEC) 的同类企业。通过减缓机器一端带电粒子的速度,Realta Fusion 的 DEC 设备构建了约 100V 电势差,并驱动了数安培级别的电流,这部分电能可点亮多个电灯泡。了解到,Realta Fusion 在核聚变商业化探索中采用磁镜技...

海螺AI怎么用来写短视频脚本让内容结构更紧凑?

海螺AI短视频脚本优化需锚定算法敏感节点:①结构化分段强制输出;②爆款骨架反向填充;③角色绑定+行为指令嵌套;④分镜表格驱动;⑤多版本对比迭代。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜ 如果您希望借助海螺AI生成结构紧凑、节奏清晰的短视频脚本,但输出内容常出现段落松散、平台适配弱或信息密度低等问题,则可能是由于提示词未锚定算法敏感节点...

怎样用Kimi编写Python脚本实现钉钉自动打卡_结合Kimi代码生成

钉钉打卡接口可用,但需先抓包获取有效Cookie和员工ID;若启用面部/蓝牙等强校验则脚本失效。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜ 你需要在每天上班前用Python脚本自动向钉钉提交打卡数据,但不熟悉逆向工程、HTTP协议或模拟登录流程,想借助Kimi的代码生成能力快速产出可运行脚本。 确认钉钉打卡接口是否可用 打开钉钉网页版(...
· AI · 188063

DeepSeek写脚本运行示例提示词怎么写,才能复制就能执行

必须以if name == "__main__":开头并调用main(),显式import所有依赖,输入用sys.argv[1]或input(),输出仅print纯文本,禁用可视化和交互语法,脚本可直接python script.py运行。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜ 要让DeepSeek生成的Python脚本复制后无需修...

Calibre怎么转换EPUB格式为MOBI Calibre转换方法【技巧】

必须用Calibre将EPUB转换为MOBI格式才能在Kindle上正常阅读,不能仅修改后缀名;添加书籍后,在转换设置中输出格式须选MOBI、勾选“删除段落间空行”,导出后即可通过USB或邮件推送至Kindle。 你需要把刚下载的EPUB电子书推送到Kindle设备上,但发现Kindle不认这个格式——它只原生支持MOBI(以及新版支持AZW3),而EPUB文件直接传输过去会显示“无法打开”。这时...