excel公式的区别是什么?

A1=8.6,A2=8.7,B1=IF(ROUND((A1+A2)/2,2)*10-INT((A1+A2)/2*10)<>0.5,1,2),B2=IF((A1+A2)/2... A1=8.6,A2=8.7,B1=IF(ROUND((A1+A2)/2,2)*10-INT((A1+A2)/2*10)<>0.5,1,2),B2=IF((A1+A2)/2*10-INT((A1+A2)/2*10)<>0.5,1,2),请问两个结果为什么不同?或者说round((A1+A2)/2,2)和(A1+A2)/2有什么区别? 展开
 我来答
极度狐狸
科技发烧友

2021-11-18 · 随便在网上分享一点自己做出来的东西
极度狐狸
采纳数:696 获赞数:1730

向TA提问 私信TA
展开全部

B1结果正确,B2结果由浮点误差造成结果差异。在小数计算的时候最好使用round函数来对小数进行约束,这样可以排除浮点误差的影响。至于为什么,可自行百度一下EXCEL浮点误差,简单点说就是小数转二进制造成无限循环,excel截取部分进行计算,造成结果差异。

看小数转二进制结果:

转化的二进制结果进入无限循环,就好比0.3  3的循环等于1/3,但是0.3333333333333就不等于1/3了,比1/3小了。一样的意思。

追问
刚刚试了一下,(8.6+8.7)/2没有你说的浮点误差,是否是其他原因造成的?
追答
浮点误差是一个很复杂的东西,我只是简化一下可以被理解的示例解释一下,就好像我们学的物理,你去哪里找一个标准大气压,哪里有匀速运动啊
真正底人

2021-11-18 · 言简意赅,不拖泥带水,为大家节省时间
真正底人
采纳数:3759 获赞数:14642

向TA提问 私信TA
展开全部

您好!两者的区别很大。前者是保留两位小数,后者只是求出结果,没有别的要求。当然,这两组数据没有区别!如果把一个数据改变成多位数,你看!

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
杰卡布
2021-11-18 · TA获得超过206个赞
知道小有建树答主
回答量:2561
采纳率:43%
帮助的人:60.1万
展开全部
使用的对象不同 要循序渐进的跑,从跑十分钟和十五分钟到半小时
黄金更好 换弹更快
弹匣容量:45/90
价格:(CF点)1200(7天)/3600(30天)/6800(90天)/8000(180天)
描述:TDI公司制造的新型冲锋枪,结构特殊,紧凑小巧。在MK5的基础上加快了装弹和切枪的速度,增大了弹匣容量,战斗力得到进一步的提升。银质的外观更使它显得与众不同。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式