发布网友 发布时间:2天前
共4个回答
热心网友 时间:1天前
这个主要是由于数据的舍入精度决定的。
不光是Excel会出现这种情况,任何编程语言都不可能准确地判断两个浮点数是否相等。
对于Integer的两个整数A,B
可以直接通过A<>B判断
但是对于Double、Single、Float、Decimal等浮点数A,B
可以通过间接地手段进行判断
math.abs(A-B)<0.00000001(可以设置为任何一个比较小的数值,也就是说如果两个数的差如果足够小的话则我们近似地认为它们相等)
**********************************************************************************************
请问您能不能把您在工作表以及VBA中判断的全部代码贴出来让大家分析一下?
或许有助于解决问题。
**********************************************************************************************
热心网友 时间:1天前
精度问题,视觉精度那是给人看的,又不是给机器看的。
热心网友 时间:1天前
取值必须正确,
热心网友 时间:1天前
excel表中的数据是四舍五入的
例如3.1415<>3.1416
但是四舍五入后就是3.142=3.142
VBA中:
Int(3.1415 *1000)=Int(3.1416 *1000)
返回Ture