Agent Skills
返回列表
金额格式化工具

金额格式化工具

企业运营 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_f1b049da/xz2026206。

技能介绍

为什么要单独做一个金额格式化

在合同、提成单和财务报表里,金额展示看起来只是排版问题,实际上坑不少:前端直接用 toLocaleString 默认配置,小数位数不统一,表格里 128000.5 和 0.05 混排显得极不专业;人民币大写要么手写正则容易漏掉「角分补齐」和「整」字规则,要么干脆不写。这个技能专注解决展示层的格式问题,不碰业务计算。

它如何工作

核心是两个函数:formatAmount 负责阿拉伯数字展示,amountToCnUpper 负责大写栏。Agent 调用时按以下步骤:

  • 展示列统一走 formatAmount:默认 zh-CN 区域,强制两位小数,千分位自动分隔,例如 128000.5 输出 128,000.50。
  • 大写栏走 amountToCnUpper:处理 >= 0 且 < 1e14 的数值,输出「壹万贰仟元整」这类标准写法,角分补齐,整数末尾加「整」。
  • 打印模板先写数字,再双栏并列:阿拉伯数字一行、大写一行,方便财务人员核对。
  • 自测必跑四个用例:128000.5、0、0.05、非法值,确保边界行为符合预期。

适用边界与注意点

这个技能不做加减乘除。如果业务需要精确金额计算,请转用 currency.js 或 Big.js,把计算结果传进来格式化即可,避免浮点误差污染展示层。

几条硬约束需要牢记:

  • 非法或空值统一展示 -,大写栏返回空串或 —,不要抛异常中断渲染。
  • 大写不处理负数,避免输出「负壹元」这类可能误导财务的文案,负数场景需产品确认后再决定展示策略。
  • 大写范围限制在 < 1e14,超过这个量级的金额建议走专门的财务系统,本技能不保证正确性。
  • 计算前务必先转 Number,不要对已带千分位的字符串直接做算术操作,否则会得到 NaN。

实现细节已标注 小四原创,可直接参考源码复用或二次开发。

使用场景

  • 在合同管理系统里给金额字段统一加千分位和两位小数,导出打印时显示阿拉伯数字与人民币大写双栏
  • 做提成单模板时把实发金额按 zh-CN 区域格式化为两位小数,方便直接送打印
  • 在财务报表表格的金额列批量格式化 128000.5 这类数值,让 0.05 也固定显示两位小数
  • 给应收账款单据写大写栏时输出「壹万贰仟元整」格式,整数自动补「整」字

适合人员

  • 对接合同或财务系统的后端开发者,需要统一金额字段的展示格式而非计算逻辑
  • 维护提成单和工资单模板的 HR 或财务人员,要求金额小数位一致且带标准人民币大写
  • 负责财务报表前端展示的工程师,要在表格列里稳定输出千分位和两位小数
  • 处理打印模板的行政或财务助理,需要把阿拉伯数字金额转成中文大写填入单据