解决一个问题:如何将数字里的小数点后第一二三位整体+2?

阿德

创作者俱乐部成员

问题

就是像55.182553换成55.184553,55.21268换成55.21468,所有数字的小数点后一二三位当成一个单独的整数整体+2,别的数不动,如何处理?

解决办法

可以使用vba代码实现。

软件为WPS个人最新版,开通了超级会员的,可以使用vba功能。

以下代码为WPS灵犀生成,在MS Word中应该也可以用。

第一次指令为“WPS文字如何实现,所有整数部分55的数字的小数点后3位当成一个单独的整数整体+2,别的数不动?示例,文档中存在55.22068和55.190553,则把55.190553替换换成55.192553,55.22068替换成55.22268。”

追加指令“整数部分不只是55,有可能是别的数字。需要处理进位的情况。需要处理表格中的数字。请调整一下代码”

后由本人调试完成,小范围测试成功。使用此代码前,请注意备份数据,以免造成损失。

广西
浏览 99
收藏
3
分享
3 +1
5
+1
全部评论 5
 
懒得批爆

@WPS产品体验官

问题中到是描述清楚了。 是用什么逻辑判断加上0.02还是0.002? 解决办法的描述中前后数字并没有看出来有什么变化,前后数字无变化的指令WPS灵犀能处理出来?
· 四川省
回复
黑化新路

WPS函数专家

我也没看懂 也不敢问
· 重庆
回复
 
wils

创作者俱乐部成员

perl正则很合适 perl -pe 's/\.\K\d+/$&+2/ge' 字面意思就是把点后面的数字替换为加2后的数字
· 海南省
1
回复
阿德

创作者俱乐部成员

不了解。perl正则是什么特殊的正则吗?
· 广西
回复