关于excel里面的INT函数问题~
发布网友
发布时间:2022-05-05 01:30
我来回答
共5个回答
热心网友
时间:2022-06-28 05:45
首先可以肯定的的EXCEL没有问题。它的结果很正确,这是因为在 Excel 中浮点运算可能会给出不准确的结果。先说解决办法,可以改为:=INT(ROUND((4.1-4)/0.1,0))
本文讨论 Microsoft Excel 如何存储和计算浮点数。这可能会因为舍入和/或数据截断而影响某些数字或公式的结果。
概述
Microsoft Excel 是按照与存储和计算浮点数有关的 IEEE 754 规范设计的。IEEE 的全称是 Institute of Electrical
and Electronics Engineers(电气和电子工程师协会),此国际机构确定计算机软硬件的标准和其他许多标准。754
规范是一个广泛采用的规范,它描述了在二进制计算机中应如何存储浮点数。它之所以得到广泛采用,原因是它允许在合理的空间量中存储浮点数,以及相对快速地进行计算。如今,大多数执行浮点运算的基于
PC 的微处理器(包括 Intel、Motorola、Sun 和 MIPS 处理器)在浮点单元和数值数据处理器中均采用 754
标准。
在存储数字时,对应的二进制数字可以表示每一个数字或分数。例如,分数 1/10 在十进制中可以表示为
0.1。但是,二进制格式的相同数字将变为重复二进制小数
0001100110011100110011(等类似数字)
并且可以无限重复。此数字无法用有限的空间量来表示。因此,此数字在存储时向下舍入大约
-2.8E-17。
但是,关于 IEEE 754 规范有一些*,它们大致分为三类:
最大/最小*
精度
二进制循环数字
热心网友
时间:2022-06-28 05:45
这是机器浮点运算误差引起的;
解决方法:
=INT(ROUND(4.1-4,1)/0.1)
热心网友
时间:2022-06-28 05:46
没有错,这个应该是office的自身问题
热心网友
时间:2022-06-28 05:47
难道你发现了excel的bug。。。。
热心网友
时间:2022-06-28 05:47
浮点计算的问题,这个是本质的问题,无法消除