在Excel模块公式计算“=(1-159/160)*100”时,设置为2位小数,显示为0.62

实际应该显示0.63才对
浏览 117
收藏
5
分享
5 +1
3
+1
全部评论 3
 
嘉禾宝宝
嘉禾宝宝 Lv.1 新人创作者WPS寻令官

Lv.1新人创作者

回答'加个roundup函数
·
回复
 
Mr Chen
Mr Chen WPS资深用户Lv.2 潜力创作者KVPWPS产品体验官WPS寻令官

Lv.2潜力创作者

回答:在WPS(或Excel)中,这个公式结果之所以是0.62而不是0.63,是由于浮点数精度误差导致的。数学上,(1 - 159/160) = 1/160 = 0.00625,乘以100得0.625,四舍五入到两位小数应为0.63。但在计算机中,小数通常以二进制浮点数存储,而0.00625的二进制表示是无限循环的(因为分母含有因子5),无法精确存储。实际计算时,159/160和1-159/160都会产生微小的近似误差,使得结果略小于0.625(例如0.6249999999999999)。当这个值乘以100后,得到约62.499999...,再使用ROUND函数四舍五入到两位小数时,第三位是4(或小于5),因此舍去,最终结果为0.62。
· 甘肃省
2
回复
 
wils
wils Lv.2 潜力创作者

Lv.2潜力创作者

=TEXT((1-159/160)*100,"0.########") =ROUND(TEXT((1-159/160)*100,"0.########"),2)
· 海南省
2
回复