Python中整数转英文单词:求第三方库推荐
现成Python库实现整数转英文书写形式
当然有现成的解决方案!你需要的功能可以用num2words这个第三方库轻松实现,它对Python 3.6版本完全兼容,是处理数字转各类语言书写形式的常用工具。
安装步骤
打开终端,执行以下命令安装库:
pip install num2words
注:如果安装最新版本出现兼容性问题(因为Python 3.6已经停止维护),可以指定兼容的旧版本,比如:
pip install num2words==0.5.10
使用示例
安装完成后,直接调用num2words()函数即可,还能通过参数调整输出格式:
from num2words import num2words # 基础转换 print(num2words(1)) # 输出: 'one' print(num2words(42)) # 默认输出带连字符: 'forty-two' # 如果你想要空格分隔的形式,添加hyphenated参数 print(num2words(42, hyphenated=False)) # 输出: 'forty two' # 更大的数字也能轻松处理 print(num2words(1234)) # 输出: 'one thousand two hundred and thirty-four'
补充:如果不想用第三方库的思路
如果出于某些原因不想依赖外部库,你可以自己实现分段处理逻辑:
- 先定义0-19的英文单词映射
- 再定义20、30...90的整十数映射
- 然后按百位、千位、百万位等分段处理,拼接对应的单词
不过除非有特殊需求,还是推荐用num2words,它已经处理了各种边界情况(比如0、负数、大数等),不用自己造轮子。
内容的提问来源于stack exchange,提问作者Curtis Pew
相关产品推荐
相关产品推荐

