跳到主内容
UniKit

数字转大写

把数字转成中文数词、中文大写与英文写法:一百二十三、壹佰贰拾叁元肆角伍分、one hundred twenty-three、序数词 21st,支持小数、负数、点读法与任意长度的大数。

浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。

数字

转换结果

中文数词、中文大写、大写金额与英文写法同时给出,可逐行复制。

中文数词一百二十三
中文大写壹佰贰拾叁
大写金额壹佰贰拾叁元整
英文基数词one hundred twenty-three
英文序数词one hundred twenty-third
序数缩写123rd

这个工具能做什么

  • 写支票、报销单或合同金额时,把 123.45 这类数字转成银行要求的「壹佰贰拾叁元肆角伍分」,避免手写大写金额出错。
  • 给外国人念数字、写地址或朗读订单号时,把 1005 写成 one thousand five,把 21 写成 twenty-first。
  • 读中文长数字时确认「零」的位置:1005 是一千零五而不是一千五,100000005 是一亿零五。
  • 做语音播报、验证码提示这类场景时用点读法,把 123 读成「一二三」而不是「一百二十三」。

示例

输入

123

输出

中文数词:一百二十三
中文大写:壹佰贰拾叁
大写金额:壹佰贰拾叁元整
英文基数词:one hundred twenty-three
英文序数词:one hundred twenty-third
序数缩写:123rd

默认不加英文 and,勾选「英文加 and」后 1005 会读成 one thousand and five;金额行会把分以下的第三位小数四舍五入。

常见问题

1005 为什么是一千零五,而不是一千五?

中文数词的「零」用来占位。一千零五里的零表示百位和十位都是 0,省掉它就会被读成 1500。本工具按四位一节处理,节内连续零只写一个零,跨节时若低位节不满四位也补一个零,所以 10005 读作一万零五。

很大的数字会丢精度吗?

不会。整数部分按字符串逐位处理,不经过 JavaScript 的 Number,所以 9007199254740993 这种超出安全整数范围的数字也能正确读出来。英文数词最大支持到 decillion(10^33),再大就没有对应的英文节名了。

大写金额的角和分怎么处理?

分以下的第三位小数四舍五入,并会进位到整数部分(1.999 → 贰元整)。角位为 0 而分位不为 0 时中间补「零」,例如 123.05 写作壹佰贰拾叁元零伍分;分位为 0 时写「角整」,例如 123.5 写作壹佰贰拾叁元伍角整。

英文的 and 到底加不加?

英式英语在百位与十位之间加 and(one hundred and five),美式英语不加(one hundred five)。默认按美式不加,需要英式写法时勾选「英文加 and」,此时 1005 会读成 one thousand and five。

小数和负数支持吗?

支持。小数部分逐位读:3.14 读作三点一四 / three point one four;负数加前缀负 / minus。序数词只对整数有意义,所以小数输入时序数两行会显示「不适用」。科学计数法(如 1e3)不接受,请写成 1000。

关键词:number to wordsnumber to chinesechinese numeralscapital amount大写金额中文大写数字转中文英文数字ordinal序数词人民币大写一百二十三

同类工具