article_image

我从事法律工作,常常需要输入中文大写的数字,比如“《中华人民共和国民法典》第一千零九十二条”或“五百九十六万一千零五十元”。前一类情况还好,后一类就比较麻烦了,而人脑天生对数字就不敏感,总是稍微转一下弯才能把一串阿拉伯数字翻译成中文,而稍微一个不小心,就可能多看一位数字或少看一位。我就遇到过在缴费窗口和工作人员起争执的律师,一核对,才发现他自己把二十万写成了两百万——当然,法律工作有多个核对环节,一处笔误或许不至于出人命,但这种错误很影响别人对你的看法。

为了避免出错,我想,能不能用自动化工具把阿拉伯数字转换成“几万几千几百几十几”这样的格式?这事儿本身好办,我找 ChatGPT 讨了一段代码,转换工作马上解决了;问题在于,如何设计自动化工具,令输入更自然?

两种最容易想到的交互是:

1.先输入一段数字,然后选中它,按一个快捷键,实现转换(Popclip 模式); 2. 弹出一个输入框,要求输入数字,输入后自动转换(LaunchBar 模式)。

这两种交互都会暂时离开当前输入界面,打断连贯的文字编辑操作,似乎有些小题大做。实际上,正因为不满意交互方式,我搁置了相关方案很久。后来读到 Sayz Lim 的 Quick Calculation Keyboard Maestro Macro 一文中,我才把 Keyboard Maestro Typed String 这块拼图添上,完成了相对流畅的数字转换 Macro:

Alt text
输入阿拉伯数字,得到中文大写