两个double类型的除法,结果为什么会这样?
double i = 12.0;
double j = 5.0;
double h = i / j;
上面的h计算出来是2.3999999..?为什么不是2.400000..?麻烦各位高手讲解一下,最好可以说出解决的办法,谢谢!
[解决办法]
其实是2.4,不过是编译器显示精度的问题而已,不必太关心这个
[解决办法]
浮点数精度误差.
[解决办法]
浮点数在计算机中的表示是有误差的,浮点数也是有有效位数的
[解决办法]
#include <stdio.h>int main(int argc, char *argv[]){ double i = 12.0; double j = 5.0; double h = i/j; printf("%lf\n",h); return 0;}
[解决办法]
正常现象,不必惊慌