Excel VBA奇怪的数学结果

时间:2012-11-08 15:19:48

标签: excel excel-vba vba

我在案例选择中遇到一些逻辑语句的问题。但是,我通过excel跟踪了一些奇怪的数学。当我期望它为假时,以下公式在即时窗口中评估为True

?(0.09 /0.1)<0.9

任何人都可以解释为什么会这样吗?

2 个答案:

答案 0 :(得分:2)

Floating point arithmetic可能会在Excel中提供不准确的结果。

有关更深入的文章,请阅读What Every Computer Scientist Should Know About Floating-Point Arithmetic

这是StackOverflow上的related question

@scott在他的评论中有解决方案:

? round((0.09/0.1),1)<0.9

答案 1 :(得分:0)

这可能是因为vb将表达式转换为整数,该整数解析为零。试试

   ?  CDBL((0.09/0.1) < 0.9