栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

使用Python编写程序:数字转换人民币读法

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用Python编写程序:数字转换人民币读法

# 将浮点数分成整数部分和小数部分
def divide(num):
    integer = int(num)
    fraction = round((num - integer) * 100)
    return (str(integer), str(fraction))


han_list = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']
unit_list = ['十', '百', '千']


# 将数字字符串变成汉字字符串,并为它们添加单位
def four_to_han(num_str):
    result = ""
    num_len = len(num_str)
    for i in range(num_len):
        num = int(num_str[i])
        if i != num_len - 1 and num != 0:
            result += han_list[num] + unit_list[num_len - 2 - i]
        elif i != 0 and num == 0 and int(num_str[i+1]) == 0:
            pass
        else:
            result += han_list[num]
    return result


# 整数部分的转换
def integer_to_str(num_str):
    str_len = len(num_str)
    result = ""
    if str_len > 12:
        print("数字太大,无法翻译")
        return
    elif str_len > 8:
        result += four_to_han(num_str[:-8]) + '亿' + four_to_han(num_str[-8:-4]) + '万' + 
            four_to_han(num_str[-4:]) + '元'
        return result
    elif str_len > 4:
        result += four_to_han(num_str[:-4]) + '万' + 
            four_to_han(num_str[-4:]) + '元'
        return result
    else:
        return four_to_han(num_str) + '元'


# 小数部分的转换
def fraction_to_str(num_str):
    num1 = int(num_str[0])
    num2 = int(num_str[1])
    result = han_list[num1] + '角' + han_list[num2] + '分'
    return result


num = float(input("请输入一个浮点数:"))
# 测试把浮点数分成整数部分和小数部分
integer, fraction = divide(num)
integer_str = integer_to_str(integer)
fraction_str = fraction_to_str(fraction)
print("转换结果:", integer_str + fraction_str)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/954354.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号