python数字转换成中文
时间: 2024-01-20 19:49:15 浏览: 150
把一个数字转换成中文,可以使用以下函数:
```python
def num2zh(num):
units = ['', '十', '百', '千', '万', '亿']
digits = ['', '一', '二', '三', '四', '五', '六', '七', '八', '九']
result = ''
num_str = str(num)
length = len(num_str)
for i in range(length):
d = int(num_str[i])
unit = units[length - i - 1]
digit = digits[d]
if d == 0:
if unit == '万' or unit == '亿':
result = result.rstrip('零')
elif result[-1] != '零':
result += digit
else:
if unit == '十' and digit == '一':
digit = ''
result += digit + unit
return result.rstrip('零')
```
使用示例:
```python
print(num2zh(123456789))
# 一亿二千三百四十五万六千七百八十九
print(num2zh(100000000))
# 一亿
print(num2zh(10001))
# 一万零一
```
注意,上面的函数只能转换正整数,如果需要转换负数或小数,需要进行修改。
阅读全文