python 数字转换成英文
时间: 2023-09-01 17:07:32 浏览: 121
以下是将数字转换为英文的Python代码:
```python
def num_to_words(num):
ones = ["", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"]
tens = ["", "", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"]
teens = ["ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"]
if num < 0:
return "minus " + num_to_words(abs(num))
if num == 0:
return "zero"
if num < 10:
return ones[num]
if num < 20:
return teens[num-10]
if num < 100:
return tens[num//10] + " " + ones[num%10]
if num < 1000:
return ones[num//100] + " hundred " + num_to_words(num%100)
if num < 1000000:
return num_to_words(num//1000) + " thousand " + num_to_words(num%1000)
if num < 1000000000:
return num_to_words(num//1000000) + " million " + num_to_words(num%1000000)
print(num_to_words(123456789))
# output: "one hundred twenty three million four hundred fifty six thousand seven hundred eighty nine"
```
这个函数将输入的数字转换为英文。它使用三个列表来存储单个数字,十位数字和十几位数字的英文单词。它使用递归来处理大于1000的数字,并在每个步骤中将数字分解成更小的数字。