英文数字拼写

时间:2013-01-17 16:19:10

标签: python numbers spelling

我正在解决Euler项目中的练习17,这是关于数字拼写(GB)。我在网上搜索了数字拼写规则,但找不到合适的内容。

是否有人有英语数字拼写规则(GB)的链接(例如何时使用/不使用'和')

例如,如何正确拼写342?

这是我写的函数,你能找到任何错误吗?

def compose(x):
    digits = ['', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten']
    eleven_to_twenty = ['', 'eleven', 'twelve', 'thirteen', 'fourteen', 'fifteen', 'sixteen', 'seventeen', 'eighteen', 'nineteen']
    decades = ['', 'ten', 'twenty', 'thirty', 'forty', 'fifty', 'sixty', 'seventy', 'eighty', 'ninety']
    if x < 1000:
        if x < 100:
            if x < 20:
                if x <= 10:
                    return digits[x]
                else:
                    return eleven_to_twenty[x - 10]
            else:
                return decades[x / 10] + digits[x % 10]
        else:
            return digits[x / 100] + 'hundredand' + compose(x % 100)
    else:
        return 'onethousand' + compose(x % 1000)

1 个答案:

答案 0 :(得分:2)

来自https://english.stackexchange.com/questions/10687/rule-for-adding-and-or-hyphens-between-numbers-that-are-spelled-out-fully-in-t

三百四十二

离开'和'在美国英语中更常见。两者都可以接受,但包括'和'更正确。

将所有化合物数字连接在21到99之间。