文章目录

  • 简介
  • 安装
  • 中文数字 → 阿拉伯数字
  • 阿拉伯数字 → 中文数字
  • 句子转化(实验性功能)
  • 推荐阅读
  • pycnnum
    • 安装
    • 初试
  • 参考文献

简介

Python中文转阿拉伯数字

使用 cn2an 库,可进行中文和数字互转,支持繁体、小数、负数、人民币描述、日期、分数、摄氏度

安装

pip install cn2an

cn2an 需要 PyYAML>=5.3.1,若不满足可尝试另一个库——pycnnum

中文数字 → 阿拉伯数字

取值范围 10−16⩽n≤101610^{-16}\leqslant n\leq 10^{16}10−16⩽n≤1016

import cn2anprint(cn2an.cn2an("一百二十三"))  # 默认为strict模式,需要严格符合数字拼写才可以转化
# 123print(cn2an.cn2an("一二三", "normal"))  # normal模式,可以转化一二三
# 123print(cn2an.cn2an("1百23", "smart"))  # smart模式,可以转化混合拼写的1百23
# 123print(cn2an.cn2an("负一百二十三", "strict"))  # 以上三种模式均支持负数
# -123print(cn2an.cn2an("一点二三", "strict"))  # 以上三种模式均支持小数
# 1.23

阿拉伯数字 → 中文数字

import cn2anprint(cn2an.an2cn("123"))  # 默认为low模式,转化为小写中文数字
# 一百二十三print(cn2an.an2cn("123", "up"))  # up模式,转化为大写中文数字
# 壹佰贰拾叁print(cn2an.an2cn("123", "rmb"))  # rmb模式,转化为人民币描述
# 壹佰贰拾叁元整print(cn2an.an2cn("-123", "low"))  # 以上三种模式均支持负数
# 负一百二十三print(cn2an.an2cn("1.23", "low"))  # 以上三种模式均支持小数
# 一点二三

句子转化(实验性功能)

import cn2anprint(cn2an.transform("小王捡了一百块钱"))  # 默认为cn2an模式,将句子中的中文转数字
# 小王捡了100块钱print(cn2an.transform("小王捡了100块钱", "an2cn"))  # 默认为an2cn模式,将句子中的数字转中文
# 小王捡了一百块钱print(cn2an.transform("小王的生日是二零零一年三月四日", "cn2an"))  # 支持日期
# 小王的生日是2001年3月4日print(cn2an.transform("小王的生日是2001年3月4日", "an2cn"))
# 小王的生日是二零零一年三月四日print(cn2an.transform("抛出去的硬币为正面的概率是二分之一", "cn2an"))  # 支持分数
# 抛出去的硬币为正面的概率是1/2print(cn2an.transform("抛出去的硬币为正面的概率是1/2", "an2cn"))
# 抛出去的硬币为正面的概率是二分之一print(cn2an.transform("抛出去的硬币为正面的概率是百分之五十", "cn2an"))  # 支持百分比
# 抛出去的硬币为正面的概率是50%print(cn2an.transform("抛出去的硬币为正面的概率是50%", "an2cn"))
# 抛出去的硬币为正面的概率是百分之五十print(cn2an.transform("今天二十七摄氏度", "cn2an"))  # 支持摄氏度
# 今天27℃print(cn2an.transform("今天27℃", "an2cn"))
# 今天二十七摄氏度

推荐阅读

  1. 英文转数字 en2an GitHub

pycnnum

安装

pip install pycnnum

初试

from pycnnum import cn2num, num2cnprint(cn2num('十'))
print(cn2num('一亿六点三'))
print(num2cn(33212222222, numbering_type='high', alt_two=True, big=True, traditional=True))
for i in range(25):print(num2cn(i), end=' ')
print()
# 10
# 160000000.3
# 貳佰參拾貳億貳仟貳佰貳拾貳萬貳仟貳佰貳拾貳
#  一 二 三 四 五 六 七 八 九 一十 一十一 一十二 一十三 一十四 一十五 一十六 一十七 一十八 一十九 二十 二十一 二十二 二十三 二十四

参考文献

  1. cn2an GitHub
  2. pycnnum GitHub
  3. pycnnum PyPI

Python中文转数字相关推荐

  1. Python 中文(大写)数字转阿拉伯数字

    中文转数字,小数的化考虑点字进一步封装即可. # constants for chinese_to_arabic CN_NUM = {'〇' : 0, '一' : 1, '二' : 2, '三' : ...

  2. python中文小写数字排序

    需要用到中文排序,自己用python写了1个,希望能帮到有需要的人. 在网上找了个<三国演义>作为例子,sanfile为需要排序的文件,直接用sorted排序显然不符合我们的逻辑. imp ...

  3. python统计中英文字符个数-Python统计英文、中文、数字、空格等字符数

    Python统计字母.中文.数字.空格等字符数 # 统计一行字符的不同字符个数 str = input("请输入一行字符:") count1 = count2 = count3 = ...

  4. Python统计英文、中文、数字、空格等字符数

    Python统计字母.中文.数字.空格等字符数 参考文章:https://blog.csdn.net/Guo_Apple/article/details/69390107 # 统计一行字符的不同字符个 ...

  5. python输出中文加数字_Python实现阿拉伯数字加上中文数字

    在Python 3里面,中文是可以作为变量名的,而运算符又可以重载,基于这两个特性,我们可以实现阿拉伯数字与中文数字的四则运算. 首先我们定义一个类 Num : class Num(object): ...

  6. 【工具封装】Python 实现将阿拉伯数字 === 转换成中文大写数字

    一.序言:   工具封装第四弹,阿拉伯数字 ===> 转换成 ===> 中文大写数字,喜欢就赶紧收藏+点赞+关注吧 !!! ---- Nick.Peng 二.实现代码如下: #!/usr/ ...

  7. python数字转汉字-Python实现把数字转换成中文

    周末在家,写了个小程序,用于将阿拉伯数字转换化大写中文.程序没经过任何优化,出没经过详细的测试,挂到网上,方便将来有需要的时候直接拿来用. #!/usr/bin/python #-*- encodin ...

  8. Python:阿拉伯数字转换为中文大写数字(金额的读数规则)

    萌萌帮班里同学做了一个python的编程作业,正好回顾一下python基础知识,以下源码和思考过程,代码全部原创. IDE:pycharm python版本:python3.7 ''' 实验目的:在银 ...

  9. python表示数字6_【Python 1-6】Python教程之——数字

    > 数字是一种用来表示数的书写符号: 中文数字写作三十七.卅七 罗马数字写作XXXVII 阿拉伯数字二进制写作100101 [文章首发地址](http://fulade.me/python-nu ...

最新文章

  1. mysql 怎么格式化输出_怎么格式化MySQL输出代码
  2. 2019学习Python的10个原因
  3. 那些年我们一起追过的缓存写法(二)
  4. java 自定义tostring_自定义java toString方法
  5. python基本输入输出代码示例
  6. python软件是免费的吗-7年程序员贡献出来的10大Python开源免费工具!
  7. 【Android 逆向】Android 进程注入工具开发 ( 总结 | 源码编译 | 逆向环境搭建使用 | 使用进程注入工具进行逆向操作 ) ★★★
  8. ROS系统 参数的获取和设置
  9. Spring 详解(二):IOC 和DI
  10. 洛谷 - P1217 [USACO1.5]回文质数 Prime Palindromes(欧拉线性筛+数论小知识)
  11. .NET Core应用类型(Portable apps amp; Self-contained apps)
  12. 详介oracle的RBO/CBO优化器
  13. 结构体在固件库中的应用
  14. listen()函数中的SOMAXCONN含义
  15. Android范围自定义,android – 如何在dagger 2.10中创建自定义范围模块
  16. 【POJ3070】斐波那契数列f[n]的后四位,n达1e+9(矩阵快速幂模版题)
  17. Ansible - 自动化运维工具
  18. 淘宝婴儿商品销量分析
  19. 【UE4学习】01——UE4下载与安装
  20. 含重根的三阶实对称矩阵的快速对角化方法

热门文章

  1. 植物大战僵尸CE教程
  2. 7-12 两个数的简单计算器
  3. python爬虫80行代码拿下喜马拉雅有声书
  4. 罗升阳:那两年炼就的Android内功修养(转)
  5. linux代码布局,Linux内存布局(示例代码)
  6. PAMI19 - 强大的级联RCNN架构《Cascade R-CNN: High Quality Object Detection and Instance Segmentation》
  7. rk3288 ddr 开发指南
  8. java控制鼠标操作一些重复的事情
  9. 跨境电商RPA是什么意思?用PRA工具能做啥?
  10. badou大数据 五期