阿拉伯数字转中文大写
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_ac83c65d/xxp-1。
技能介绍
要解决的问题
在财务、合同、发票这类文本里,金额通常必须写成中文大写,例如「壹拾贰万叁仟肆佰伍拾陆元」。手工完成这件事有两个麻烦:一是容易写错单位(佰/仟/万/亿 的位置),二是格式要求严格,一个错字就可能导致票据退回。
这个技能把这件事变成一个确定性的字符串转换过程:交给 number_to_chinese(num) 处理,不用再对着进位规则人肉核对。
它是怎么工作的
核心能力集中在 main.py 里的 number_to_chinese(num) 函数,支持三类输入:
- 整数:范围
0 ~ 999999999999,覆盖到万亿级,对应大写字符集为零壹贰叁肆伍陆柒捌玖拾佰仟万亿。 - 小数:小数部分逐位转换,例如
3.14→叁点壹肆。 - 负数:负号转换为「负」,例如
-100→负壹佰。
调用流程分三步:
- 从用户输入中提取需要转换的数字。
- 把数字传给
main.py的number_to_chinese(num)。 - 把结果返回给用户。
适用边界与注意点
- 不含货币后缀:技能只输出数字部分,不会自动补「元」「角」「分」。如果你的场景需要完整金额写法,需要在外层自己拼接。
- 小数不四舍五入:小数是逐位转换,
3.14得到叁点壹肆而不是按分位取整。财务场景里如果需要按分舍入,必须先做数值处理再调用。 - 整数有上限:超出万亿级(
999999999999)的整数不在支持范围内,传入前需要确认量级。 - 依赖提取环节:第 1 步「从输入中提取数字」需要由 Agent 完成。如果输入是长文本且包含多个数字,要先明确要转换哪一个,否则容易拿错数值。
- 不负责校验合法性:技能不会检查金额是否符合票据规范,输出的正确性取决于输入数字本身。
使用场景
- 撰写合同时要把金额写成中文大写,避免手工填写出现错字或单位错位
- 批量处理发票金额,把数字转成大写后填入票据模板打印归档
- 处理带小数的金额需逐位转换,如把 3.14 转成叁点壹肆写入凭证
- 把系统导出的大额数字(如项目预算)转成中文大写填入报表
适合人员
- 财务人员:每月开具发票、填写合同金额大写,要求数字与单位零差错
- 合同起草人:在协议金额条款中要填中文大写数字,手工转换容易出错
- 开发人员:实现票据生成或金额格式化功能时需要一个可靠的转大写实现
- 外贸单证人员:制作形式发票或结算单时要把金额转成中文大写