数字转中文(小写读法 · 人民币金额大写 · 元角分整)

一个数字给出三种写法:中文小写读法(一千二百三十四点五)、人民币金额大写(壹仟贰佰叁拾肆元伍角)、按位大写。支持负数、小数和千分位逗号,金额自动四舍五入到分、连续零合并。转换在浏览器本地完成,输入不会离开这台设备。

边输入边出结果,Enter 也可以。金额按四舍五入到分,前导零会被忽略。

大写金额与四位分组

大写数字对照表

用途 字符
小写数字 零 一 二 三 四 五 六 七 八 九
大写数字 零 壹 贰 叁 肆 伍 陆 柒 捌 玖
数位 十 百 千 / 拾 佰 仟
数级 万(10⁴) 亿(10⁸) 万亿(10¹²)
金额单位 元 角 分,1 元 = 10 角 = 100 分
结尾 整,只在角分都是 0 时写

为什么金额要写大写

小写太容易改:「一」添一笔成「二」或「十」,「十」加一横成「千」。大写没有可加笔画的余地,涂改必然留痕,所以发票「价税合计(大写)」栏、汇款凭证、合同金额都用它,尾部紧跟「整」或角分——不是为美观,是防止末尾被偷偷补一位。

四位一节,以及舍入的规则

  • 四舍五入到分:只看小数第三位,够 5 进 1,能一路进到元(9.999 → 壹拾元整)。读法栏不四舍五入,1.50 读作「一点五零」,尾零保留。
  • 连续零只读一个:1000001 → 壹佰万零壹,100000001 → 壹亿零壹;跨节低位不足四位也补一个零。
  • 角分:元后无角有分补零,100.05 → 壹佰元零伍分;整数金额结尾加「整」,0 → 零元整;不足一元不写「零元」,0.5 → 伍角、0.05 → 伍分。
  • 分节与上限:以 8 位(亿)为轴递归切分,10¹² 读成「一万亿」,不会出现「亿亿」。整数部分限 16 位(9999 万亿)——再往上只剩「京」这种不用于金额的数级,报错胜过给一个看着对其实错的值。小数最多 10 位,前导零忽略,.5 当 0.5,12. 报错;进位全程走字符串,不碰浮点数。
  • 「拾」:读法里以「一十」开头省成「十」(10 → 十、100000 → 十万,110 仍是「一百一十」);大写金额写全,10 元 → 壹拾元整。
  • 负数加「负」;金额栏按舍入后的值判断,-0.001 舍成 零元整 便不写「负」。计算在浏览器本地跑完,输入的内容不会离开这台设备。

什么时候不能直接照抄

只出元角分,外币不适用。正规票据一般写「人民币壹仟贰佰叁拾肆元伍角」,这里出的串不带「人民币」三字,请自己前置。各开票软件、银行柜面对「零」「整」的补法细则不完全一致,「整」与「正」各有取舍,以主管税务机关和开户行为准。收据一般不接受负金额,退款走红字。

常见问题

0.5 元怎么大写? 伍角。整数部分是 0 就不写「零元」,前面也不补「零」;0.05 → 伍分,0.55 → 伍角伍分,0 → 零元整。「角」后补不补「整」各家不一,这里不补。

为什么 100 万零 1 只出现一个零? 汉语读数规则:夹在两个非零数位之间的连续 0 只读一次。1000001 拆成「壹佰万」和「壹」,中间的 0 合成一个「零」。

能把大写转回数字吗? 页面只做正向。第三栏「按位大写」逐字对应,肉眼能读回;金额栏要还原 拾佰仟/万亿/元角分整 的层级,解析比生成严得多,真要程序化请自己写校验。

微信
微信
支付宝
支付宝