关于把数字写成文字
支票上那行用文字写的金额之所以存在,只有一个理由:数字可以被改动,文字则难得多。一笔就能把 1 改成 7;但要把「一千」改成「七千」,不留下明显痕迹几乎不可能。
同样的道理,让这行字在支票早已不常见之后,依然留在发票、合同、采购单和法律文书上。而这恰恰是没人愿意手写的活儿,因为那些别扭的地方——71、80、90,以及百万以上的所有位数——正是最容易写错的。
每行输入一个数字,就能拿回它的文字形式。 不上传任何内容。
十种语言,以及为什么这不只是翻译
这不是一套算法配十份词表。这里实现了两种真正不同的计数体系,因为字符串对照表根本跨不过这道沟。
千进制——英语、德语、法语、西班牙语、意大利语、葡萄牙语和荷兰语按千分组:thousand、million、billion。在这之内,每种语言又各有各的角落。德语和荷兰语把个位写在十位之前,并把整个数连成一个词。法语把 70 说成 soixante-dix、90 说成 quatre-vingt-dix,而 quatre-vingts 的 -s 一旦后面还有数字就消失。西班牙语会缩写成 veintiuno,并区分 cien 和 ciento。
万进制——日语、中文和韩语按万分组:万是 10,000,亿是 100,000,000。所以 1,200,000 不是「一百万二十万」,而是一百二十万。不同的是分组方式本身,而不只是词。
使用方法
- 选择语言。默认是你正在阅读的这个页面的语言
- 输入或粘贴数字,每行一个——直接粘贴表格里的一整列也可以
- 选择纯文字,或用支票格式把小数部分写成分数
- 复制结果,或下载成文本文件
空行仍然是空行,所以把结果粘回表格时,行与行是对齐的。
支票格式
支票上的惯例是把整数金额写成文字,小数部分写成分数:一千二百三十四 和 56/100。
支票格式输出的就是这个。它取你输入的小数部分,并把只有一位小数的情况补足到两位——12.5 得到的是 and 50/100,而不是 and 5/100,后者会让金额相差十倍。
人们用它来做什么
- 填写支票或汇票上的大写金额栏
- 在发票或报价单上加一行写出来的合计
- 在合同或法律文书中把数字写成文字
- 为邮件合并准备一列写好的金额
- 确认某个数字在你正在写作的语言里该怎么写
- 教授或学习另一种语言的数词
值得一提
- 在哪里都能用——它是一个网页,不上传、无依赖,手机、平板和电脑都可以
- 大约 9 千万亿以内是精确的。超过之后浏览器已无法精确表示整数,所以工具会明说数字太大,而不是给出一个悄悄出错的金额
- 「纯文字」模式下小数逐位读出——1.25 是「一点二五」,也就是念数字时的读法
- 负数会带上各语言正确的词:minus、moins、menos、マイナス
- 输入中的千位分隔符和空格会被忽略,1,234,567 和 1234567 都能用
- 币种名称是刻意不加的。「元」「美元」「欧元」属于你的文档,而不属于这个数字
- 中文输出的是小写数字(一、二、三),并不包含票据上使用的财务大写(壹、贰、叁)