把数字(int,float)转换成波斯语单词的工具
num2fawords的Python项目详细描述
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('۱/۴')'یک بخش بر چهار'
就这些。享受吧!