我无法找到任何关于此的问题,所以我决定发帖。 基本上,我只是注意到每当我初始化float或double变量时,分配的实际值都是我指定的近似值。
前:
float dx = 7.1; //在调试时,这是:7.09999990
float dy = 9.9; //在调试时,这是:9.89999962
我意识到他们已接近我的要求,并且在实际计算中,我们完全理解结果将是一个计算,但我想知道并且有点期待aproximation为7.10000000
而且,如果我在if(7.10000000 == 7.1)之类的东西中使用常量7.1或7.10000000,则看起来字面常量近似为7.0999999999999996。 (我想现在这有点显而易见了,它首先接近一个双倍而不是浮动;所以这不再是一个谜)
所以我想我的问题是为什么7.1近似为7.09999990,甚至不是7.09999999,它接近7.1而不是7.09999990。没有?我错过了什么吗?