人民币大小写转换
在线人民币大写金额转换工具,将数字金额转为中文大写
什么是人民币大写金额?
人民币大写转换器用于把数字金额转换为正式的中文金额大写写法。它会使用壹、贰、叁、元、角、分等财务书写形式,使发票、收据、合同、付款单和财务表格中的金额更难被篡改。这个工具适合在需要把阿拉伯数字金额快速写成可核对的中文金额时使用。它不是汇率换算器,也不是税务或会计审批工具。正式使用前仍要注意四舍五入、负数、零位处理、小数位,以及机构是否要求以“整”“正”等特定结尾。
使用方法
使用方法
- 在输入框中输入数字金额(如 1234.56)
- 中文大写金额将自动显示在输出框中
- 点击「复制」即可复制转换结果
财务格式注意事项
- 请仔细核对小数部分;中文大写金额通常需明确写出元、角、分,以防止篡改。
- 对于发票、合同和报销单,请在与单位确认舍入与零值处理规则后再复制结果。
使用场景
技术原理
中文金融大写书写遵循 GB/T 28805 标准和中国人民银行票据规则。每个阿拉伯数字映射为防篡改的大写字符(0→零、1→壹、2→贰、3→叁、4→肆、5→伍、6→陆、7→柒、8→捌、9→玖),位值使用拾、佰、仟 表示十、百、千,然后用 万 和 亿 按每四位一组分段。金额单位后缀为 元(元)、角(第一位小数)和 分(第二位小数)——人民币仅保留两位小数。 转换器从最高位到最低位逐位遍历整数部分,将数字分成每组四位(万 位断点),第二组到第 12 位(亿 位断点),第三组在此之后。组内的连续零折叠为一个零 标记,组末尾的零被省略,这就是为什么 10,001 读作 壹万零壹元 而不是 壹万零零壹元。小数部分按位渲染为角和分;如果某一位置为零,规则会写 零角 或 零分 以防止读者篡改额外数字;当两位小数都为零时,整数金额以终止词 整(或其变体 正)结尾。 边界情况占据了实现的大部分。负数金额前缀 负。零元带非零角或分时省略 元 元素,读作 壹角 而非 零元壹角。支持的最大量级受 Number.MAX_SAFE_INTEGER(2^53 - 1)限制,但 GB/T 规则本身覆盖约 14 位整数(约 99 万亿元),超出此范围需要基于字符串的大数遍历来替代浮点运算。将第三位小数四舍五入到分 列也需符合收款机构的政策才能盖章于正式收据上。
- 数字对照表:0-9 → 零壹贰叁肆伍陆柒捌玖,防篡改大写形式由 GB/T 28805 和中国人民银行票据规则标准化。
- 位值:拾(10)、佰(100)、仟(1,000)、万(10^4)、亿(10^8);分组按四位,而非西方的三位。
- 零折叠:四位组内的连续零折叠为一个零,组末尾的零被省略(10,001 → 壹万零壹元,而非 壹万零零零壹元)。
- 小数位:仅 角(1/10 元)和 分(1/100 元);整元金额以 整 结尾,缺失的小数位写作 零角 或 零分 以防止插入。
- 符号和零元:负数前缀 负;0.10 读作 壹角(而非 零元壹角);0.00 读作 零元整。
- 量级上限:GB/T 规则覆盖约 14 位整数(最大约 99,999,999,999,999.99 元);超出 Number.MAX_SAFE_INTEGER 时需要基于字符串的遍历以避免浮点漂移。
示例
基本转换
输入:1234.56
输出:壹仟贰佰叁拾肆元伍角陆分
用途:标准收据或发票金额不足一元的金额(仅小数)
输入:0.50
输出:伍角零分
说明:元位为零时省略「元」字;保留「零分」可防止零被改为非零的分大额金额(7 位整数)
输入:1000000
输出:壹佰万元整
说明:「整」用于结尾整元金额;按 GB/T 规范每 4 位以「万」分组负数金额
输入:-50.30
输出:负伍拾元叁角零分
说明:开头的「负」字用于标识退款、冲销或亏损常见问题
这个工具是做什么的?
把数字金额转换为支票、发票和合同上使用的人民币正式大写形式:1234.56 → 壹仟贰佰叁拾肆元伍角陆分。之所以使用大写字符(大写),是因为它们比小写数字(一/二/三)更难被笔改。
用到了哪些字符?
0=零、1=壹、2=贰、3=叁、4=肆、5=伍、6=陆、7=柒、8=捌、9=玖,加上位数标记 拾(10)、佰(100)、仟(1,000)、万(10,000)、亿(10^8)。币种标记:元(yuán,主单位)、角(jiǎo,1/10 元)、分(fēn,1/100 元)。
零是怎么处理的?
中间的零会被压缩:1,002 → 壹仟零贰;多个连续的零也会合并:10,008 → 壹万零捌;每个万位组内末尾的零省略不读:12,000 → 壹万贰仟。如果金额没有小数部分,输出末尾会加上「整」字。
金额超过两位小数怎么办?
中文正式大写只精确到角和分(即一位和两位小数)。页面会先将更高精度四舍五入到两位再转换。如果你需要更高精度,那已不属于标准会计实务,正式大写形式也不支持。
为什么万亿被用来表示「trillion」?
中文数字以 10,000(万)为分组单位,而非英文的 1,000(thousand)。10^8 = 亿;10^12 旧时称为「兆」,现代用法中通常作「万亿」。本页对超过 10^12 的金额默认输出为「万亿」。
支持的最大金额是多少?
最高支持到 999,999,999,999.99(接近一万亿)。现实中的支票几乎不会超过这个数额。10^12 之上的中文数字「兆/京/垓」体系已不属于会计规范。
转换是在本地完成的吗?
是的。转换逻辑由浏览器端的 JavaScript 完成,金额不会被上传或记录。