cn2an: Chinese Numerals To Arabic Numerals

📦 cn2an
是一个快速转化 中文数字
和 阿拉伯数字
的工具包!

🔗点击访问 DEMO
🎈 v0.5.23 update
: delete setuptools in requirements.txt
🎈 en2an
: 「英文数字」和「阿拉伯数字」互转正在收集需求中! 详情
🎈 Cn2An.jl
: Julia 语言版本已经上线,正在丰富基础功能。详情
1 功能
1.1 中文数字
=> 阿拉伯数字
- 支持
中文数字
=> 阿拉伯数字
; - 支持
大写中文数字
=> 阿拉伯数字
; - 支持
中文数字和阿拉伯数字
=> 阿拉伯数字
;
1.2 阿拉伯数字
=> 中文数字
- 支持
阿拉伯数字
=> 中文数字
; - 支持
阿拉伯数字
=> 大写中文数字
; - 支持
阿拉伯数字
=> 大写人民币
;
1.3 句子转化
-
支持 中文数字
=> 阿拉伯数字
;
- 支持
日期
; - 支持
分数
; - 支持
百分比
; - 支持
摄氏度
;
-
支持 阿拉伯数字
=> 中文数字
;
- 支持
日期
; - 支持
分数
; - 支持
百分比
; - 支持
摄氏度
;
1.4 其他
2 安装
⚠️ 注意:
- 本地安装仅支持 Python 的 3.6 以上版本;
- 其他语言用户可以考虑使用 HTTP API ;
- 尽可能使用
cn2an
的最新版本。
2.1 使用 pip 安装
pip install cn2an -U
2.2 从代码库安装
git clone https://github.com/Ailln/cn2an.git
cd cn2an && python setup.py install
3 使用
import cn2an
print(cn2an.__version__)
3.1 中文数字
=> 阿拉伯数字
最大支持到 10**16
,即 千万亿
,最小支持到 10**-16
。
import cn2an
output = cn2an.cn2an("一百二十三")
output = cn2an.cn2an("一百二十三", "strict")
output = cn2an.cn2an("一二三", "normal")
output = cn2an.cn2an("1百23", "smart")
output = cn2an.cn2an("负一百二十三", "strict")
output = cn2an.cn2an("一点二三", "strict")
3.2 阿拉伯数字
=> 中文数字
最大支持到10**16
,即千万亿
,最小支持到 10**-16
。
import cn2an
output = cn2an.an2cn("123")
output = cn2an.an2cn("123", "low")
output = cn2an.an2cn("123", "up")
output = cn2an.an2cn("123", "rmb")
output = cn2an.an2cn("-123", "low")
output = cn2an.an2cn("1.23", "low")
3.3 句子转化
⚠️:试验性功能,可能会造成不符合期望的转化。
import cn2an
output = cn2an.transform("小王捡了一百块钱")
output = cn2an.transform("小王捡了一百块钱", "cn2an")
output = cn2an.transform("小王捡了100块钱", "an2cn")
output = cn2an.transform("小王的生日是二零零一年三月四日", "cn2an")
output = cn2an.transform("小王的生日是2001年3月4日", "an2cn")
output = cn2an.transform("抛出去的硬币为正面的概率是二分之一", "cn2an")
output = cn2an.transform("抛出去的硬币为正面的概率是1/2", "an2cn")
3.4 HTTP API
主要为其他语言(Java、Javascript、Go等)用户提供方便,当然 Python 用户也可以使用,点击查看详细用法。
4 版本支持
- 理论上支持
Windows
、MacOS
、Ubuntu
下的所有 Python 3.6+
的版本。 - 实际上仅在
ubuntu-latest
、windows-latest
、macOS-latest
的 Python 3.6, 3.7, 3.8
上做过完整测试。 - 欢迎提交其他版本使用情况到 Issues 中,期待你的反馈。
- 如果你有
Python 2
的使用需求,可 Fork 代码自行修改。当然也欢迎提 PR,贡献自己代码给其他人。
5 问题反馈
- 先搜索 Issues 中有没有人已经问过类似的问题;
- 如果没有找到解答,请新开一个 issue:
- 首先,在「issue 标题」中填写你遇到的问题的简介;
- 然后,在「issue 详情」中填写你遇到的问题的详情;
- 最后,不要忘记注明你使用的操作系统(比如 Windows 10)和 Python 版本(比如 Python 3.6.3)。
- 还可以参考 Issue Template 。
6 开发相关
6.1 开发进度
本项目是用看板管理开发进度,请点击 v0.5 查看开发进度和计划事项。
6.2 代码测试
本地测试使用 Anaconda 的虚拟环境,测试方法如下:
bash scripts/local_test.sh
线上测试使用 GitHub Actions 。
6.3 性能测试
测试时,我使用的是最大长度的测试数据!因此,大多数情况下该库的性能会更好~
7 许可证

8 交流
欢迎添加微信号:Ailln_
,备注「cn2an」,邀请你进入 Python 交流群。
9 致谢
10 参考