将数字转换为单词的模块。易于扩展。

num2words的Python项目详细描述


num2words-将数字转换为多种语言的单词

https://img.shields.io/pypi/v/num2words.svghttps://travis-ci.org/savoirfairelinux/num2words.svg?branch=masterhttps://coveralls.io/repos/github/savoirfairelinux/num2words/badge.svg?branch=master

num2words是一个库,它可以将 42 这样的数字转换成 四十二个这样的单词。 它支持多种语言(完整列表见下表 ,甚至可以生成序数,如 四十二 (尽管最后一个功能目前对于某些语言来说有点麻烦)。

该项目位于github上。欢迎投稿。

安装

安装num2words的最简单方法是使用pip:

pip install num2words

否则,您可以下载源程序包,然后执行:

python setup.py install

此库中的测试套件是新的,因此它相当薄,但可以使用以下命令运行:

python setup.py test

要运行完整的ci测试套件(包括linting和多个python环境):

pip install tox
tox

用法

命令行:

$ num2words 10001
ten thousand and one
$ num2words 24,120.10
twenty-four thousand, one hundred and twenty point one
$ num2words 24,120.10 -l es
veinticuatro mil ciento veinte punto uno
$num2words 2.14 -l es --to currency
dos euros con catorce centimos

在代码中,只有一个函数可以使用:

>>> from num2words import num2words
>>> num2words(42)
forty-two
>>> num2words(42, to='ordinal')
forty-second
>>> num2words(42, lang='fr')
quarante-deux

除了数值参数外,还有两个主要的可选参数。

到: 要使用的转换器。支持的值为:

  • 基数 (默认值)
  • 序数
  • 序数
  • 年份
  • 货币

语言: 转换数字的语言。支持的值为:

  • en (英语,默认值)
  • ar (阿拉伯语)
  • 捷克语
  • de (德语)
  • dk (丹麦语)
  • en_gb (英语-英国)
  • 英语输入 (英语-印度)
  • es (西班牙语)
  • es_co (西班牙语-哥伦比亚)
  • es ve (西班牙语-委内瑞拉)
  • 欧盟 (欧元)
  • fi (芬兰语)
  • fr (法语)
  • 法语 (法语-瑞士)
  • 法语 (法语-比利时)
  • 法语区 (法语-阿尔及利亚)
  • 他(希伯来语)
  • id (印度尼西亚语)
  • (意大利语)
  • ja (日语)
  • kn (卡纳达语)
  • ko (朝鲜语)
  • lt (立陶宛语)
  • lv (拉脱维亚语)
  • (挪威语)
  • pl (波兰语)
  • pt (葡萄牙语)
  • pt_br (葡萄牙语-巴西语)
  • sl (斯洛文尼亚语)
  • sr (塞尔维亚语)
  • ro (罗马尼亚语)
  • ru (俄语)
  • sl (斯洛文尼亚语)
  • tr (土耳其语)
  • th (泰语)
  • vi (越南语)
  • nl (荷兰语)
  • 英国 (乌克兰语)

如果国家不存在,但 语言会,代码会返回到基本语言(即 fr )。如果 您提供的语言不受支持,将引发 notimplementederror 。 因此,如果要用回退方式调用num2words,可以执行以下操作:

try:
    return num2words(42, lang=mylang)
except NotImplementedError:
    return num2words(42, lang='en')

另外,一些转换器和语言支持其他可选参数 使转换器在实际中有用所需的。

维基

有关某些本地化的更多信息,请查看wiki。 并随时建议增强wiki功能。

历史记录

num2words 基于一个旧库,由Taro Ogawa创建的 pynum2word 。 2003。不幸的是,图书馆停止了维护,作者 无法联系到。还有一个开发商,Marius Grigaitis,他在2011年 增加了立陶宛的支持,但没有接管项目的维护。

因此,我以马吕斯·格里盖蒂斯的改进和重新出版为基础。 pynum2word num2words

Virgil Dupras,Savoir Faire Linux版

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java有没有办法使多个对象初始化更紧凑?   java确保BUnit包和测试包不包含在生产代码中   java如何使JTextField更小,而不是填满整个空间?   javaawt的矩形交点   用户连续登录应用程序的java条纹(Android)   maven如何在服务器上运行java项目,并将其作为jar添加到EAR项目中   java如何在jar/war的资源文件夹中创建png?   swing在Java中未选择列表项时禁用按钮   java GridView x BaseAdapter并在onItemClick中重新加载   java Apache POI未应用某些颜色索引   java创建URL使用uri有什么区别。解析/uri。生成器/连接字符串?   java JavaFX jfoenix运行时错误(JFXDatePicker)   右旋转二叉搜索树   在Java标准版中运行Java移动应用程序   java为什么要为每个实例创建静态hashmap?   java如何使用RTC唤醒和报警意图   java获取对象中的JSON表达式   (Java)服务器不接受多个连接   java为什么我的目的地为null?   java使用多个参数执行存储过程,并使用spring数据jpa将结果集映射到非实体类