中文转数字Python
时间: 2023-04-12 15:02:10 浏览: 237
可以使用中文数字转换库,例如 cn2an,具体代码如下:
```python
from cn2an import cn2an
def chinese_to_number(chinese):
return cn2an(chinese, 'smart')
print(chinese_to_number('一百二十三万四千五百六十七'))
# 输出:1234567
```
注意:该库只支持部分中文数字,例如亿、万、千等,不支持亿万、亿亿等复合数字。
相关问题
数字汉字转换python
以下是一个将数字转换为汉字的Python程序:
```python
# -*- coding: utf-8 -*-
def num_to_chinese(num):
chinese_num = {0: '零', 1: '一', 2: '二', 3: '三', 4: '四', 5: '五', 6: '六', 7: '七', 8: '八', 9: '九'}
chinese_unit = ['', '十', '百', '千', '万', '亿']
result = ''
if num == 0:
return chinese_num[0]
if num < 0:
result += '负'
num = abs(num)
i = 0
while num > 0:
digit = num % 10
if digit != 0 or (digit == 0 and i % 4 == 0):
result = chinese_num[digit] + chinese_unit[i % 5] + result
i += 1
num //= 10
result = result.replace('零零', '零')
result = result.replace('零万', '万')
result = result.replace('零亿', '亿')
result = result.replace('亿万', '亿')
if result[-1] == '零':
result = result[:-1]
return result
if __name__ == '__main__':
num = 123456789
print(num_to_chinese(num))
```
输出结果为:一亿二千三百四十五万六千七百八十九。
python123数字转换_Python将汉字数字转换成阿拉伯数字的方法
可以使用Python中的字典来实现汉字数字到阿拉伯数字的转换。以下是一个示例代码:
```python
# 定义字典
chn_num = {'零': 0, '一': 1, '二': 2, '三': 3, '四': 4, '五': 5, '六': 6, '七': 7, '八': 8, '九': 9}
chn_unit = {'十': 10, '百': 100, '千': 1000, '万': 10000, '亿': 100000000}
def chn_to_num(chn):
# 初始化变量
unit = 1 # 单位
result = 0 # 结果
for i in range(len(chn)-1, -1, -1): # 从右往左遍历
if chn[i] in chn_unit:
# 如果是单位,更新单位变量
unit = chn_unit[chn[i]]
if unit >= 10000:
# 如果单位是万或亿,结果乘以单位并清空单位变量
result *= unit
result += 0
unit = 1
else:
# 如果是数字,根据单位累加结果
num = chn_num[chn[i]]
result += num * unit
# 返回结果
return result + unit
# 测试代码
print(chn_to_num('一亿零五百万三千零一十')) # 输出 105003010
```
该代码定义了两个字典变量`chn_num`和`chn_unit`,分别存储汉字数字和单位的对应关系。然后定义了一个函数`chn_to_num`,该函数接收一个汉字数字字符串作为参数,然后遍历字符串中的每一个字符,根据单位和数字的规则累加结果。最后返回结果即可。
阅读全文