python数字金额转大写金额

数字金额转大写金额使用场景挺多,最近写一个小工具需要用,想着网上找找现成的python代码,发现大多数需要订阅才能看。想偷懒让AI写一个,最后试了几个AI发现都不行,不管是国内的还是国外的,果然还是不能偷懒。突然想起来之前写了一个易语言工具好像有这个大写转换,不知道在哪个论坛找的一段易语言金额转大写的代码,反正不是我写的,果断改成python代码试了试,测试可行,至少代码行数比AI智障给的代码行数少,十几行搞定,目前也没发现有bug。放这里记录一下,省的以后要用的时候再找。

def number_to_chinese(price):
    s1 = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']
    s2 = ['分', '角', '元', '拾', '佰', '仟', '万', '拾', '佰', '仟', '亿', '拾', '佰', '仟', '万']
    replacements = [('零仟', '零'), ('零佰', '零'), ('零拾', '零'), ('零角', '零'), ('零零', '零'), ('零零', '零'), ('零零', '零'), ('零亿', '亿'), ('零万', '万'), ('零分', '整'), ('零元', '元'), ('角整', '角')]
    s = f"{float(price) * 100:.0f}"
    le = len(s)
    dx = ''
    for i in range(le):
        dx += s1[int(s[i])] + s2[le - 1 - i]
    for j,k in replacements:
        dx = dx.replace(j, k)
    if dx == '整':
        dx = '零元整'
    else:
        dx = dx.replace('亿万', '亿零')
        dx = dx.replace('零元', '元')
    return dx
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值