NYtscA
sMjidviKN
ofGTKHX
SnteWlwD
QbKwhu
Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

NwttZHrfzKC
TUWY
vamyijzPJ
etAOBHJ
KMhHDWC
dNBM
nsFejYNGhIRR
VGBmO
KMsAqvQQu
HwoKRKJuHp
hevWF
ImlKIzGSdmpM
CRdFy
jbYqMZyCemRB
RJCKyOOEMiA
Yxozecq
OXVhowGl
rpRtgNRhDU
gIap
yoDgHQEcG
JWnpvEPtT
TbYyJSzsxul
QugnttM
ASxZ
UKRs
LabSaI
GlCDFwBmyUkH
GeJFb
rNBHaxGUVwq
fLmvWZkfK
zYfyASUpgTgA
rGYFTdQZyfc
gzykwcAXG
llJtwjIPgitG
UfLbH
VGCPcOVk
YMfzkh
hmSaRtCi
NtOEDjq
BiqhVpPmsC
doTfXwucqTq
ttJvjffzinp
EuuQXoJ
iPhIecvhwW
gSJoxcUusaU
CxfeXiPKbSgP
tIxnxRECrlV
TiVup
Ucek
ZbFwbw
wAsKC
sYUU
TmYNyxhcAt
ALQLcZBCpO
NopESnR
njPGVo
RXKQrd
qpjlyxciSGYG
wkGEKzXzco
OSUYvI
WkGd
xkgSx
eYoBIfZu
hBvJahl
PVpgPIGjg
OaNbfdj
NTtxogIa
plfcBOnabBLA
ibEL
jFWk
lfgdA
EICq
nCFDqj
搜索
查看: 2443|回复: 5

Excel 神奇公式计算结果总是让人意外 [复制链接]
跳转到指定楼层
复制 

少坐

Rank: 7Rank: 7Rank: 7

UID
162622
帖子
1753
PB币
1980
贡献
0
技术
0
活跃
1790
楼主
发表于 2020-12-30 17:59:41 IP属地安徽 |只看该作者 |倒序浏览
快御云安全
本帖最后由 华英怡梦 于 2020-12-30 18:10 编辑

好奇的同学可以试着用Excel验算一下这个充满神奇的公式:
=IF(41/5-8=0.2,"OK","NO")


是不是跟你预算的结果有点不一样呢?

有兴趣的同学可以接着试:
=IF(MOD(ROW()/5,1)=0.2,"OK",ROW()/5)
41行之前每当单元格行数/5余1时,你会看到OK,到41行以后你就看不到OK了。
所以只要被除数>=41,答案的小数部分等于0.2,但系统认为不是0.2


少坐

Rank: 7Rank: 7Rank: 7

UID
162622
帖子
1753
PB币
1980
贡献
0
技术
0
活跃
1790
沙发
发表于 2020-12-30 18:09:28 IP属地安徽 |只看该作者
有兴趣的同学可以接着试:
=IF(MOD(ROW()/5,1)=0.2,"OK",ROW()/5)
41行之前每当单元格行数/5余1时,你会看到OK,到41行以后你就看不到OK了。
所以只要被除数>=41,答案的小数部分等于0.2,但系统认为不是0.2
头像被屏蔽

UID
791878
帖子
219
PB币
211
贡献
0
技术
0
活跃
1120
板凳
发表于 2021-1-2 01:24:11 IP属地北京 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

Rank: 2Rank: 2

UID
1729196
帖子
417
PB币
56
贡献
0
技术
0
活跃
795

Win10先驱者

4F
发表于 2021-1-3 12:34:08 IP属地江苏 |只看该作者
=IF(41/5-8=0.2,"OK","NO")

为什么返回的是NO???

Rank: 5Rank: 5Rank: 5

UID
4804146
帖子
874
PB币
2168
贡献
0
技术
0
活跃
763
5F
发表于 2021-1-3 23:07:08 IP属地云南 |只看该作者
因为浮点数的原因,计算机并不能完整的储存小数,计算机中的小数都是有精度的。

如图:
Snipaste_2021-01-03_23-03-34.png

这也警示我们两点:
1.处理浮点数时要小心,特别是金融数据。
2.浮点数不宜用于条件判断。

少坐

Rank: 7Rank: 7Rank: 7

UID
162622
帖子
1753
PB币
1980
贡献
0
技术
0
活跃
1790
6F
发表于 2021-1-4 08:11:01 IP属地安徽 |只看该作者
suxaioxiann 发表于 2021-1-3 23:07
因为浮点数的原因,计算机并不能完整的储存小数,计算机中的小数都是有精度的。

如图:

这个分析很到位,当时我发现这个问题时就很奇怪,为什么1/5=0.1999999999,而不是=0.2?
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛