如何在Python中将整数转换为英文表示?
我需要把整数转换成它们的英文(字符串)表示,在Python中实现。
5 = five
20 = twenty
etc.
我知道可以用条件语句来做,但我需要转换很多整数,所以我想找一种最快的方法来实现这个。
3 个回答
0
问题在于,可能没有现成的库可以提供这样的功能。
解决这个问题的方法是分析这个数字,把它分成小的数字,然后使用一些固定的单词列表。这篇文章可能对你有帮助。
不过,如果你想用其他语言而不是英语,那就会变得复杂,你需要对上面的函数进行一些修改。
0
如果我是你,我会在网上找一个数字和它们对应的英文翻译的列表。一个文本文件可能是最好的选择。然后你可以把这个文件转换成Python中的字典(或者保存到数据库里)。比如说,{'1': 'one', '2': 'two'...}。接下来就简单了。我觉得找到那个现成的列表是最耗时间的部分,但肯定有这样的列表存在。
6
pynum2word 可以帮你做到这一点:
>>> import num2word
>>> dir(num2word)
['__builtins__', '__doc__', '__file__', '__name__', '__package__',
'_lang', '_loc', '_locale', '_locdict', '_module', '_modules',
'n2w', 'n2wmod', 'to_card', 'to_ord', 'to_ordnum', 'to_year']
>>> num2word.to_card(1111)
'one thousand, one hundred and eleven'