其他分享
首页 > 其他分享> > cn2an:中文数字与阿拉伯数字的相互转换

cn2an:中文数字与阿拉伯数字的相互转换

作者:互联网

import cn2an
print(cn2an.__version__)
0.4.1

中文数字–>阿拉伯数字

# 在strict模式下,只有严格符合数字拼写才可以转换
try:
    output_s = cn2an.cn2an("一百五十五","strict")
    print(output_s)
except ValueError:
    print('输入有误')  

try:
    output_s = cn2an.cn2an("一五五","strict")
    print(output_s)
except ValueError:
    print('输入有误')
    
155
输入有误
# 在 normal 模式下,还可以将 一二三 进行转化
try:
    output_n = cn2an.cn2an("一五五","normal")
    print(output_n)
except ValueError:
    print('输入有误')
155
# 在 smart 模式下,还可以将混合拼写的 1百23 进行转化(暂不支持小数)
try:
    output_sm = cn2an.cn2an("一五5","smart")
    print(output_sm)
except ValueError:
    print('输入有误')
155
# 在strict模式下的负数
try:
    output_s = cn2an.cn2an("负一百五十五","strict")
    print(output_s)
except ValueError:
    print('输入有误')

# 在strict模式下的负数
try:
    output_s = cn2an.cn2an("-一百五十五","strict")
    print(output_s)
except ValueError:
    print('输入有误')
-155
输入有误
# 在 normal 模式下,负数
try:
    output_n = cn2an.cn2an("负一五五","normal")
    print(output_n)
except ValueError:
    print('输入有误')

# 在 normal 模式下,负数
try:
    output_n = cn2an.cn2an("-一五五","normal")
    print(output_n)
except ValueError:
    print('输入有误')
-155
输入有误
# 在 smart 模式下,负数
try:
    output_sm = cn2an.cn2an("负一五5","smart")
    print(output_sm)
except ValueError:
    print('输入有误')

# 在 smart 模式下,负数
try:
    output_sm = cn2an.cn2an("-一五5","smart")
    print(output_sm)
except ValueError:
    print('输入有误')
-155
-155

阿拉伯数字–>中文数字

# 在 low 模式下,数字转化为小写的中文数字
output_l = cn2an.an2cn("123", "low")
print(output_l)
一百二十三
# 在 up 模式下,数字转化为大写的中文数字
output_u = cn2an.an2cn("123", "up")
print(output_u)
壹佰贰拾叁
# 在 rmb 模式下,数字转化为人民币专用的描述
output_rmb = cn2an.an2cn("123", "rmb")
print(output_rmb)
壹佰贰拾叁元整
# 以上三种模式均支持负数
output = cn2an.an2cn("-123")
print(output)
负一百二十三

句子转化

output_seq1 = cn2an.transform("我捡了一百块钱", "cn2an")
print(output_seq1)
output_seq2 = cn2an.transform("我捡了100块钱", "an2cn")
print(output_seq2)
我捡了100块钱
我捡了一百块钱

标签:中文数字,阿拉伯数字,except,try,有误,cn2an,print,output
来源: https://blog.csdn.net/Smile_mingm/article/details/104893278