数字转中文大写(金额)
转换所有处理都在浏览器本地完成,数据不上传服务器
输入
把文件拖到这里可直接载入
输出
把一个数字转成财务用的大写金额,以及平时读的中文写法,顺带给出千分位格式。大写金额是防篡改的写法 —— 壹贰叁肆伍陆柒捌玖拾佰仟 笔画多,没法通过添笔改成另一个字,所以银行票据一直用它。也正因为是给票据用的,它有一批不能"顺手简化"的规矩:十位上的 1 要写「壹拾」,整数末尾要写「整」,中间的零只读一个;这些地方错了,票就会被退回来。本工具按这套规范处理,并且把中文读法(十、一百一十这类口语写法)单独列一行,两者互不干扰。
功能
- 一次给出大写金额、中文读法、英文读法、千分位四种写法
- ⚠️ 英文读法同时支持短级差(美式)与长级差(旧英式)—— 10⁹ 以上把两套并列展示,因为 billion 在两套里相差一千倍而从字面上看不出来
- ⚠️ 中文按万/亿四位分组、英文按三位分组,所以同一个数在两种读法里的「节拍」不同
- 按财务规范处理:10 写作「壹拾元整」而不是「拾元整」
- 零的读法正确:1005 读作壹仟零伍,100000005 读作壹亿零伍
- 分级到万、亿、万亿,整数部分支持到 16 位
- 小数超过两位时四舍五入到分,并在结果里注明这次取整
- 支持千分位逗号、货币符号、正负号与省略整数位的 .5 写法
- 金额精度全程走字符串与 BigInt,不会出现一分钱的浮点误差
- 中文读法按口语习惯省略「一十」的「一」:10 读作十、110 读作一百一十
使用方法
- 把数字粘进输入框,可以带千分位逗号或货币符号
- 四行结果同时出现:大写金额、中文读法、英文读法、千分位
- 小数超过两位时,按选项四舍五入到分或直接报错
- 点某一行的复制按钮,取走报销单上要填的那一行
常见问题
- 为什么 10 元要写成「壹拾元整」而不是「拾元整」?
- 财务规范要求大写金额的每一位都完整写出,包括十位上的 1 —— 写成「拾元整」虽然口语上没问题,但票据审核会认为位数不完整。中文读法那一行给的是口语写法(10 读作十),两者是不同的用途,所以分开列。
- 为什么 100000005 读作「壹亿零伍」?
- 因为中间的「万」这一级整级都是零,需要用「零」占位,否则读者无法判断「伍」是在个位还是万位。规则是:整级为零时留一个「零」,本级最高位为零时也留一个。所以 1005 是「壹仟零伍」,10500 是「壹万零伍佰」。
- 为什么小数超过两位要四舍五入?
- 人民币的最小单位是分,也就是两位小数 —— 大写金额里没有比「分」更小的单位可用。默认做法是四舍五入到分,并在结果里注明「已四舍五入到分」,这样你知道结果与原数有细微差别;不想让它自动取整,可以把选项改成「直接报错」。
- 大数字会不会算错?
- 不会。整数位、小数位与进位全部按字符串和 BigInt 处理,没有经过浮点数 —— 0.29 乘以 100 在双精度下等于 28.999999999999996,用浮点做四舍五入就可能少一分钱,而这个误差在结果里完全看不出来。
相关工具
进制转换
转换在二、八、十、十六、36、64 进制之间互转,六种结果一次全部给出,19 位的雪花 ID 也能一位不差。全部在浏览器本地完成。
单位换算
转换在长度、重量、温度、能量、压力、流量、力、密度等 26 类单位之间换算,输入一个值就能看到同类全部单位下的结果,全部在浏览器本地完成。
日期计算
转换算两个日期之间相差多少天,或给一个日期加减若干天、周、月。日期用日历挑或直接粘贴,结束日期留空就与今天比较。全部在浏览器本地完成。
时间戳转换
转换把 Unix 时间戳还原成日期时间,或反过来。秒 / 毫秒 / 微秒 / 纳秒自动识别,支持小数、负数与 Windows FILETIME。全部在浏览器本地完成。
Cron 解析
转换把 cron 表达式逐字段讲成人话,算出接下来几次与上一次的执行时间;永远不会触发的表达式会当场说明原因。全部在浏览器本地解析。
颜色转换
转换在 HEX、RGB、HSL、HWB、CMYK 与 OKLab、OKLCH、Lab、XYZ 之间互转,另给出色温、反色、互补色、最接近的 ANSI 终端色与 WCAG 对比度。全部在浏览器本地完成。