把数字(int,float)转换成波斯语单词的工具

num2fawords的Python项目详细描述


https://travis-ci.org/5j9/num2fawords.svg?branch=masterhttps://codecov.io/github/5j9/num2fawords/coverage.svg?branch=masterhttps://ci.appveyor.com/api/projects/status/github/5j9/num2fawords?svg=true&branch=master

num2fawords

num2fawords是一个高度可定制的库,它提供将数字(int、float、decimal、fraction或str)转换成波斯语单词形式的函数。

安装

  • python 3.3+是必需的
  • pip install 'setuptools>=36.2.1'
  • pip install num2fawords

用法

>>>fromnum2fawordsimportwords,ordinal_words>>>words(1984)'یک هزار و نهصد و هشتاد و چهار'>>>ordinal_words(1232)'یک هزار و دویست و سی و دوم'>>>ordinal_words(123)'یکصد و بیست و سوم'>>>words(1.1e-9)'یک و یک دهم در ده به توان منفی نه'

很明显,单词用于转换成单词形式,序数单词用于序数单词from。

单词也接受其他常见的标准类型:

>>>words(19.75)'نوزده و هفتاد و پنج صدم'>>>fromdecimalimportDecimal>>>words(Decimal('1.1'))'یک و یک دهم'>>>fromfractionsimportFraction>>>words(Fraction(-2,5))'منفی دو پنجم'

默认的小数分隔符是“_”,但可以更改为“__”(或任何其他字符串),如下所示:

>>>words(19.75,decimal_separator=' ممیز ')'نوزده ممیز هفتاد و پنج صدم'

例如,有些人更喜欢“的”而不是其他形式的“的”。该库默认使用第二种形式,也用于伊朗官方纸币。但可以更改:

>>>fromnum2fawordsimportHUNDREDS>>>words(170)'یکصد و هفتاد'>>>HUNDREDS[1]='صد'>>>words(170)'صد و هفتاد'

关于单词的其他参数的一些示例:

>>>words(7,positive='مثبت ')'مثبت هفت'>>>words(-2,negative='منهای ')'منهای دو'>>>words('۱/۲')'یک دوم'>>>words('1/2',fraction_separator=' تقسیم بر ',ordinal_denominator=False)'یک تقسیم بر دو'>>>words(1.1e-9)'یک و یک دهم در ده به توان منفی نه'>>>words(1.1e-9,scientific_separator=' ضربدر ده به قوهٔ ')'یک و یک دهم ضربدر ده به قوهٔ منفی نه'

当然,上面的论点可以一起使用。

如果希望一次性更改默认参数值,请使用更改默认值函数:

>>>fromnum2fawordsimportchange_defaults,words>>>change_defaults(fraction_separator=' بخش بر ',ordinal_denominator=False)>>>words('۱/۴')'یک بخش بر چهار'

就这些。享受吧!

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

推荐PyPI第三方库


热门话题
如何在JavaEE中隔离用户会话?   java什么是CacheManager的替代方法。集合名(字符串名)   当am通过==运算符比较对象时,java sop命令未打印附加文本为什么?   java如何关闭一个gui的一个窗口,该窗口有两个打开的窗口,而不同时关闭这两个窗口?   java如何在socket回调中使用观察器?   java在自定义soap处理程序中是否有一种获得操作名的保证方法?   正则表达式Java解析字符串   java希望从其他方法检索RGB像素值,但无法检索   java如何在Android RecyclerView中循环浏览项目?   java tomcat 8上的主机中的软件中止了已建立的连接   java Apache CXF3。具有可靠消息传递的0.4 Soap web服务引发异常   Java与Hibernate数据库   使用put存储新的键值对时,现有键的java Hashmap值将被覆盖。如何预防?   并非所有unix shell的java命令都在运行   java根据元素的自然顺序对列表进行排序   基于值的java同步方法评估   java如何使用axis2 java2wsdl创建标头?   铸造如何阻止java舍入   java计数休眠和命名查询