Code Monkey home page Code Monkey logo

cn2an's Introduction

cn2an: Chinese Numerals To Arabic Numerals

Pypi MIT License stars API

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

🔗点我访问 DEMO

1 功能

1.1 中文数字 => 阿拉伯数字

  • 支持 中文数字 => 阿拉伯数字
  • 支持 大写中文数字 => 阿拉伯数字
  • 支持 中文数字和阿拉伯数字 => 阿拉伯数字

1.2 阿拉伯数字 => 中文数字

  • 支持 阿拉伯数字 => 中文数字
  • 支持 阿拉伯数字 => 大写中文数字
  • 支持 阿拉伯数字 => 大写人民币

1.3 句子转化

  • 支持 中文数字 => 阿拉伯数字
  • 支持 阿拉伯数字 => 中文数字

1.4 其他

  • 支持小数
  • 支持负数

2 安装

⚠️注意:

  1. 仅支持 Python 的 3.6 以上版本;
  2. 请安装使用 cn2an 的最新版本。

2.1 使用 pip 安装

pip install cn2an

2.2 从代码库安装

git clone https://github.com/Ailln/cn2an.git
cd cn2an
python setup.py install

3 使用

# 在文件首部引入包
import cn2an

# 查看版本
print(cn2an.__version__)
# 0.4.1

3.1 中文数字 => 阿拉伯数字

最大支持到万亿兆,即10**32

import cn2an

# 在 strict 模式下,只有严格符合数字拼写的才可以进行转化
output = cn2an.cn2an("一百二十三", "strict")
# or output = cn2an.cn2an("一二三")
print(output)
# 123

# 在 normal 模式下,还可以将 一二三 进行转化
output = cn2an.cn2an("一二三", "normal")
print(output)
# 123

# 在 smart 模式下,还可以将混合拼写的 1百23 进行转化(暂不支持小数)
output = cn2an.cn2an("1百23", "smart")
print(output)
# 123

# 以上三种模式均支持负数
output = cn2an.cn2an("负一百二十三")
print(output)
# -123

3.2 阿拉伯数字 => 中文数字

最大支持到10**32,即万亿兆

import cn2an

# 在 low 模式下,数字转化为小写的中文数字
output = cn2an.an2cn("123", "low")
# or output = cn2an.an2cn("123")
print(output)
# 一百二十三

# 在 up 模式下,数字转化为大写的中文数字
output = cn2an.an2cn("123", "up")
print(output)
# 壹佰贰拾叁

# 在 rmb 模式下,数字转化为人民币专用的描述
output = cn2an.an2cn("123", "rmb")
print(output)
# 壹佰贰拾叁元整

# 以上三种模式均支持负数
output = cn2an.cn2an("-123")
print(output)
# 负一百二十三

3.3 句子转化

import cn2an

output = cn2an.transform("我捡了一百块钱", "cn2an")
# or output = cn2an.transform("我捡了一百块钱")
print(output)
# 我捡了100块钱

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

详细用法见 API.

4 版本支持

  • 理论上支持 WindowsMacOSUbuntu 下的所有 Python 3.6+ 的版本。
  • 实际上仅在 Windows 10MacOS 10.14Ubuntu 16.04Python 3.6.9Python3.7.4 上做过完整测试。
  • 欢迎提交其他版本使用情况到 Issues 中,期待你的反馈。
  • 如果你有 Python 2 的使用需求,可 Fork 代码自行修改。当然也欢迎提 PR,贡献自己代码给其他人。

5 问题反馈

  1. 先搜索 Issues 中有没有人已经问过类似的问题;
  2. 如果没有找到解答,请新开一个 issue:
    1. 首先,在「issue 标题」中填写你遇到的问题的简介;
    2. 然后,在「issue 详情」中填写你遇到的问题的详情;
    3. 最后,不要忘记注明你使用的操作系统(比如 Windows 10)和 Python 版本(比如 Python 3.6.3)。
  3. 还可以参考 issue 模版

6 开发相关

6.1 开发进度

本项目是用看板管理开发进度,请点击 v0.4 查看开发进度和计划事项。

6.2 代码测试

本地测试使用 Anaconda 的虚拟环境,测试方法如下。

# 安装 conda 环境
conda create -n py369 python=3.6.9
conda create -n py374 python=3.7.4

# 执行测试
bash local_test.sh

线上测试使用 GitHub Actions

6.3 性能测试

  • 测试版本:v0.3.10

  • 测试设备:2.3 GHz 双核Intel Core i5 MacBook Pro

  • 测试代码:performance.py

  • 测试方法:

    pip install -r requirements_test.txt
    
    python -m cn2an.performance
  • 测试结果:

    序号 功能 执行次数 执行时间(平均) 性能(次/秒)
    1 an2cn 10000 0.23 43k
    2 cn2an 10000 0.56 18k

在测试时,我使用的测试数据是长度最大的数据!因此,大多数情况下性能要比上述情况更好~

7 许可证

8 交流

欢迎添加微信号:kinggreenhall,备注「cn2an」,我邀请你进入交流群。

9 致谢

  • Thunder Bouble: 提出很多有效的反馈,包括一些 bug 和新功能;
  • Damon Yu: 增加对全角数字和全角符号的支持。

10 参考

cn2an's People

Contributors

20071313 avatar ailln avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.