中文数字转换

中文数字转换 公开 已发布(自动)

如何安装动作?
复制Ta的推荐码
动作问题讨论区发贴,动作定制可加QQ

适用于
分类(旧)
文本处理

seagulltj 用户CEh54mfXBAA Alexsanda royxia 轻轻一拉 13 人赞了这个动作

1 个动作单 收藏了此动作。

更多信息
分享时间 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 - 修复:大写金额转数字的识别判断问题

最近讨论

异常报告 · 254
ZTOA10 2023-09-25 13:22 ZTOA10 2023-09-25 17:07