惊奇地发现Excel计算StDev(97.9,97.9,97.9),结果不是0

c
cheeryinmay
楼主 (北美华人网)
而是1.740467E-14,虽然很小,但不是0. 算三个97.91或97.1也是这个结果。 而计算三个相同的其他数字(比如97.89,97.909,97.911)就是0.0000000E+00 计算四个97.9也是0。 谁能解释一下?还是这个是程序员的玩笑? 我试了一下google sheet,mac numbers, 算的都是0
o
onbty123
floating?
h
hubaobao80
而是1.740467E-14,虽然很小,但不是0. 算三个97.91也是这个结果。 而计算三个相同的其他数字(比如97.89,97.909,97.911)就是0.0000000E+00 谁能解释一下?还是这个是程序员的玩笑?
cheeryinmay 发表于 2023-07-06 17:20

因为存储空间比你现在的小数位数多一点,所以其实后面有随机的小数字?8位16位字节之类的
b
bran
因为这个:STDEV: Estimates standard deviation based on a sample. 如果你提供的数据是整个population,需要用STDEVP。
h
hijklmn
有些数是不能用二进制准确表达的。。。
c
cheeryinmay
因为这个:STDEV: Estimates standard deviation based on a sample. 如果你提供的数据是整个population,需要用STDEVP。
bran 发表于 2023-07-06 17:34

和这个没有关系,STDEV.P算其他的数都是0,算这几个神奇数字是1.42109E-14