中文金融大写书写遵循 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 时需要基于字符串的遍历以避免浮点漂移。

