如何将{{Special:Editcount/User}}输出转为可在#expr中使用的整数
解决方法
你遇到的问题核心是{{Special:Editcount/User}}的默认输出带有千位分隔符、非打印格式字符,导致ParserFunctions识别为字符串而非数值,按以下步骤处理即可:
- 第一步:用
formatnum的反向参数去除格式符
调用{{formatnum:{{Special:Editcount/User}}|R}}即可将输出转换为无格式的纯数字字符串,|R参数的作用是移除千位分隔符、本地化格式标记,输出标准数字序列。 - 第二步:直接传入
#expr运算
处理后的纯数字字符串可以直接参与数值计算,示例代码如下:{{#expr: {{formatnum:{{Special:Editcount/User}}|R}} + 100 }}
如果上述方案仍有兼容问题,可以嵌套一层强制类型转换:
{{#expr: 0 + {{formatnum:{{Special:Editcount/User}}|R}} }}
加0 +的操作会强制解析器将后续内容识别为数值类型,彻底避免字符串识别问题。
如果你的站点安装了足够新版的ParserFunctions扩展,也可以直接用#int函数强制转换:
{{#int:{{Special:Editcount/User}}}}
内容的提问来源于stack exchange,提问作者Plasma Relais
相关产品推荐
相关产品推荐

