今天学习WPS特有函数ROUNDBANK时,发现的一个BUG!

无意中看到WPS出了个特有函数ROUNDBANK,官方解释为【通过“四舍六入五成双”舍入数字】,咋一看好新奇,因为我知识库只认识“四舍五入”这个概念啊,原谅我的知识浅薄。具体的使用规则可以看下面百度的解释。

根据百度的的规则说明去研究了一下,好巧不巧,使用随机数的时候发现有结果和自己理解的不一样,怀疑是否自己理解有错,于是再次百度。

这次照搬百度举例的数字,用wps公式检验,结果发现两者不同,怀着严谨的态度去验证了一番(百度或许有误),最后对wps的输出结果感到很疑惑

在我检验修约数字为5,且后面无非零数字时,改变5前面的数字发现结果是和百度解释是一致的

当我去改变第一位数字的时候,发现了“8”和“9”会改变结果,和百度对“四舍六入五成双”的解释是不相符的。例如8.8250,按规则5后无非零,看5前数字,5前面是2,为偶数,舍去5,结果为8.82,wps输出为8.81

对此,不能完全理解wps这个“四舍六入五成双”的规则,先给它定义为一个bug。希望官方可以看到这个帖,无论结果是否为bug,希望官方都可以给出对应的规则解释,好让用户学习了解。

最后贴出使用的wps版本

广东省
浏览 517
收藏
4
分享
4 +1
5
+1
全部评论 5
 
襄阳好风日2010
名称管理器里定义银行家舍入, 银行家舍入 = LAMBDA(number, digits, IF( --TEXT(MOD(number, POWER(10, 0 - digits)), "G/通用格式") = (5 / POWER(10, 1 + digits)), ( ROUND(number, digits) - ISEVEN(QUOTIENT(number, POWER(10, 0 - digits))) / (POWER(10, digits)) ), ROUND(number, digits) ) ) 调用, =银行家舍入(8.8250,2)或者=银行家舍入(8.8250+0.00000001-0.00000001,2)
· 河南省
回复
 
WPS 冲浪队长
WPS 冲浪队长

社区管理员

您好 是一个已知bug哈 下个版本会改进~
· 广东省
回复
纯真少年
那就好
· 广东省
回复
 
Tam Kingsley
Tam Kingsley

创作者俱乐部成员

64位内测17325的Round类函数有精度bug,需要下个内测版修复~
· 广东省
回复
纯真少年
那就好
· 广东省
回复