ToolAct工具行动

人民币大小写转换

在线人民币大写金额转换工具,将数字金额转为中文大写

输入内容
字符数: 0
转换结果
字符数: 0

什么是人民币大写金额?

人民币大写转换器用于把数字金额转换为正式的中文金额大写写法。它会使用壹、贰、叁、元、角、分等财务书写形式,使发票、收据、合同、付款单和财务表格中的金额更难被篡改。这个工具适合在需要把阿拉伯数字金额快速写成可核对的中文金额时使用。它不是汇率换算器,也不是税务或会计审批工具。正式使用前仍要注意四舍五入、负数、零位处理、小数位,以及机构是否要求以“整”“正”等特定结尾。

使用方法

使用方法

  1. 在输入框中输入数字金额(如 1234.56)
  2. 中文大写金额将自动显示在输出框中
  3. 点击「复制」即可复制转换结果

财务格式注意事项

  • 请仔细核对小数部分;中文大写金额通常需明确写出元、角、分,以防止篡改。
  • 对于发票、合同和报销单,请在与单位确认舍入与零值处理规则后再复制结果。

使用场景

将数字金额转换为中文大写人民币输入正数或负数的小数金额,工具会过滤输入为数字、一个小数点和可选的前导减号,然后转换为带元、角、分单位的正式人民币大写文本。渲染器按每四位一组(中文财务中的万和亿位值分隔)遍历整数部分,并将小数部分写为角和分,缺失的位置用显式零填充,这正是防止读者事后插入额外数字的关键。
本地准备发票和财务文本输出适用于发票、收据、报销单和财务备注,这些场景需要将数字金额写成正式的中文大写金额。检查转换文本并确认财务团队使用的舍入策略后直接复制输出,因为不同机构在打印前对角和分的舍入方式可能不同。措辞本身遵循中国财务文档规范规定的标准,而非自定义的机构风格。
避免意外的非数字字符粘贴的内容在进入输入框时会被清理,因此货币符号、逗号、空格和其他杂散字符会在转换前被移除。两个面板上的字符数统计帮助确认结果文本存在后再复制。在打印或盖章正式财务文档前请重新核对源金额,因为从电子表格粘贴的内容经常带有隐藏的全角逗号,快速扫一眼输入框可能发现不了。
处理整数金额和「整」字后缀对于以 .00 结尾的整元金额,转换器输出后跟标准财务格式的「整」字。当收据、合同行或银行单据需要审计人员期望的固定结尾标记时使用此功能;当特定模板要求显式的无小数读法时,可配合「零角零分」使用。遗漏「整」字是正式收据最常见的退回原因之一,因此务必确认接收模板是否需要它。
验证负数金额和零的写法输入前导减号以预览亏损、退款或冲正的渲染效果,并检查零值情况以确认边界处「零元整」的呈现方式。0.10 元的退款应读作「壹角」而非「零元壹角」,因此即使元的部分为零,角和分的单位仍会保留。在打印或盖章前,始终将符号、数字以及角和分单位与源发票进行交叉核对。

技术原理

中文金融大写书写遵循 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 完成,金额不会被上传或记录。