分享时间 | 2023-08-11 07:48 |
最后更新 | 2024-02-01 18:09 |
修订版本 | 3 |
用户许可 | -未设置- |
Quicker版本 | 1.42.6 |
动作大小 | 15.3 KB |
网上有很多中文数字转换工具,但是功能都过于单薄了,而且绝大多数都存在准确性问题。于是尝试自己实现一个,已单独做成子程序分享:点这里。
动作特色
支持多种中文数字格式,可以实现以下任意格式之间的相互转换:
阿拉伯数字,如 1906 或 1,906
简读法中文数字,如 一九零六 或 一九〇六
中文小写数字,如 一千九百零六
中文大写数字,如 壹仟玖佰零陆元整
支持负号、小数、人民币角分。例如:
3.14159 => 三点一四一五九
-23.25 => 负贰拾叁元贰角伍分
支持转换复杂文本中的特定数字。 绝大多数工具仅支持像「一百二十」这样的单个纯数字文本,假如我需要转换小说里的所有章节数字——例如把「第一百二十章 一不小心看到了」转换为「第120章 一不小心看到了」,这类工具就无能为力了。本动作可通过正则表达式指定文本中的特定数字。
一些细节:
关于「十」和「一十」。当最高数级的值位于 10~19 (例如「18」「180000」),读作「十」还是「一十」?本动作转换为中文小写时,默认(可更改)采用「十」——即转换为「十八」「十八万」,而不是「一十八」「一十八万」;转换为中文大写时,不能省略,采用「壹拾」,例如「壹拾捌元整」「壹拾捌万元整」。
关于「零」和「〇」。阿拉伯数字转换为简读形式的中文数字时,可根据实际情况选择「零」或「〇」,如「零点零零五」「一九〇六」;当转换为计量用途的中文数字时,一律用「零」。例如,「二百零八」「贰佰零捌元整」。在 Excel 中,208 转换结果为「二百○八」,有两个错误之处:(1) 应该使用「零」而不是「〇」;(2)「〇」字用错了字符(混淆了 U+25CB 和 U+3007 )。
读「零」问题。一些工具常见的错误读法:10002000 读成「一千万零二千」(比如搜狗输入法),正确读法是「一千万二千」;100002000 读成「一亿二千」(比如 Excel),正确读法是「一亿零二千」。
使用说明
如果输入内容只是单纯的一个或多个中文/阿拉伯数字(以空白或换行分隔),正则表达式使用 \S+
即可。如果是转换内容文本中的特定数字,请根据实际需求使用正则表达式匹配你想要转换的数字。
正则输入框预置了一些参考正则,可在动作右键菜单“预置正则列表”中修改这个下拉列表。
修订版本 | 更新时间 | 更新说明 |
---|---|---|
3 | 2024-02-01 18:09 |
- 数字0转换为“零元整”
- 修改预置正则列表 |
2 | 2023-10-19 00:40 | - 支持被调用 |
1 | 2023-09-25 16:32 | - 修复:大写金额转数字的识别判断问题 |