数字转英文
把阿拉伯数字写成英文单词,基数词、序数词和美元金额一起给出,可在美式与英式之间切换。
hundred 与十位之间不加 and:one hundred twenty-three;thousand 之后也不加。整数最多 15 位,小数不限位数但金额只取两位;千分位逗号、全角数字和负号都能识别,金额不满一元时按英文习惯只读分。
英文读法
one thousand two hundred thirty-four point five six
当作美元金额读
常用数字对照
这几个数覆盖了进位、连字符、and 和序数词变化最容易出错的位置,切换上面的美式英式按钮,这一列会跟着变。
| 数字 | 基数词 | 序数词 | 纯数字序数 |
|---|---|---|---|
| 1 | one | first | 1st |
| 2 | two | second | 2nd |
| 3 | three | third | 3rd |
| 5 | five | fifth | 5th |
| 8 | eight | eighth | 8th |
| 9 | nine | ninth | 9th |
| 11 | eleven | eleventh | 11th |
| 12 | twelve | twelfth | 12th |
| 13 | thirteen | thirteenth | 13th |
| 20 | twenty | twentieth | 20th |
| 21 | twenty-one | twenty-first | 21st |
| 100 | one hundred | one hundredth | 100th |
| 101 | one hundred one | one hundred first | 101st |
| 1000 | one thousand | one thousandth | 1000th |
| 1001 | one thousand one | one thousand first | 1001st |
| 1000000 | one million | one millionth | 1000000th |
计数单位
| 单位 | 数值(short scale) | 中文对应 |
|---|---|---|
| thousand | 10 的 3 次方 | 千 |
| million | 10 的 6 次方 | 百万 |
| billion | 10 的 9 次方 | 十亿 |
| trillion | 10 的 12 次方 | 万亿 |
这张表按 short scale 列,也就是美制和现代英制的口径:billion 是十亿。传统英式的 long scale 里 billion 指一万亿,两套差了一千倍,读英文材料时留意来源。
使用说明
英文数字的最小组件是 1 到 999,读法可以完整背下来:百位用「几 hundred」,十位与个位合成一个词,21 到 99 之间用连字符,例如 three hundred forty-two。往上按三位一级分组,每级后面挂一个单位,从低到高是 thousand、million、billion、trillion。一级一级往下写,得到的就是 thirty-four million five hundred six thousand seven hundred eighty-nine 这样的结果,中间不需要额外的连接词。
单位本身有两套量级口径,这是英文数字里最容易读错的地方。short scale 下每一级按 10 的 3 次方递进,billion 是十亿;long scale 下每级按 10 的 6 次方递进,billion 成了一万亿。美制一直用 short scale,英制在二十世纪后期也基本改用了这一套,所以现在说 billion 通常就是十亿。本工具的英式开关只改变 and 的位置,不改变单位量级,页面上给出的单位表也是 short scale。
连字符和 and 是两个各自独立的细节。连字符只管 21 到 99 这段两位数,写在整个数字里也一样,所以 one hundred twenty-one 只有末尾带连字符。and 则是英美差异:英式在百位与十位之间加 and,另外当一个数由多个分组组成、且最后那一组不足一百时,也在它前面补 and,于是 1001 读 one thousand and one;但如果最后一组达到一百以上,像 1100 读 one thousand one hundred,就不加 and。
序数词的变化集中在几个词上:one 变 first、two 变 second、three 变 third 是不规则的;five 到 fifth、eight 到 eighth、nine 到 ninth、twelve 到 twelfth 要在词尾改拼写,其中 ninth 要去掉 nine 的 e,eighth 只加 h。复合序数词只把最后一个词变成序数,前面的词照抄,所以二十一是 twenty-first、一百零三是 one hundred third。纯数字序数的后缀规则和中文语境下的习惯一样,1st、2nd、3rd,但 11 到 13 一律用 th。
金额读法在数字读法之上又加了几条:美元和分之间用 and 连接,单复数跟着数值走,一元是 one dollar、一元一分是 one dollar and one cent,票据上还在末尾加 only 封口。整数金额按习惯补整的说法可以用 only 表达,所以 100 读 one hundred dollars only;不满一元时不念美元部分,只念分位,0.5 读 fifty cents。整数的上限是 15 位,因为再往上就要用到 quadrillion 这些单位,而那个量级已经超过双精度浮点数的精确范围,本工具宁可报错也不给不可靠的结果。要中文读法用数字转中文,票据上的大写金额用人民币大写金额,罗马数字用罗马数字转换。
常见问题
美式和英式的差别具体在哪?
只差 and 的位置。英式在 hundred 和后面的十位之间加 and,写成 one hundred and one;当一个数有多个三位分组、且最后一组不足一百时,也要在它前面补 and,例如 one thousand and one。美式这两处都不加,写成 one hundred one 和 one thousand one。两种都是规范写法,选哪个取决于读者习惯。
billion 到底是十亿还是一万亿?
本工具里 billion 一律是十亿,也就是 10 的 9 次方,这是 short scale 的口径,美式一直用它,现代英式也已经普遍改用这一套。历史上英式用的是 long scale,那时 billion 指 10 的 12 次方,也就是一万亿,美国的一万亿在那套体系里叫 trillion。要看一万亿,用这一页输出的 trillion 就对了。
什么时候要写连字符?
只有 21 到 99 之间、十位与个位都不是零的组合才写,例如 twenty-one、ninety-nine。整十数不加(twenty),百位以上也只在最后那个两位数内部加:one hundred twenty-one 里只有 twenty-one 带连字符,hundred 和 thousand 这类单位词后面不加。
序数词里哪些拼写会变?
不规则的主要有 first、second、third,以及 fifth、eighth、ninth、twelfth 这几个要在词尾改拼写的,其余大多是直接加 th。复合序数词只把最后一个词变成序数,前面的照抄:twenty-first、one hundred twenty-third、one thousandth。纯数字序数则是 1st、2nd、3rd,但 11、12、13 一律用 th,所以是 11th、12th、13th,而 21 又是 21st。
美元金额里的 and 和 only 是什么讲究?
美元和分之间用 and 连接,写成 one hundred twenty-three dollars and forty-five cents,这是票据和正式文书的习惯。末尾的 only 起封口作用,意思是「整」,防止有人在后面添字改金额。这是英文票据的写法,和中文票据写「整」是一个道理。
a dollar 和 one dollar 有什么区别?
意思一样,语体不同。口语里单数金额常用 a dollar、a hundred dollars,正式文书和票据上则一律写 one dollar、one hundred dollars,因为 one 在排版和手写里都不容易被添改成别的数字。本工具按正式写法输出 one,不做 a 的替换。
小数和负数怎么读?
小数不按数值读,而是把小数点读作 point,后面一位一位念:3.14 是 three point one four,不读 three point fourteen。负号有两种读法,negative 更正式、minus 更口语,可以在上面切换。注意序数词只对整数部分有意义,带小数的输入不会给出序数词。