为什么?
11979999 / 10000 = 1197.999877930
使用
printf("%f\n", static_cast<double>(((float)11979999 / (float)10000)));
而不是
1197.9999
如何解决?
答案 0 :(得分:3)
在您的代码中,您以单精度进行计算,然后将结果转换为double。如果需要双精度,请以双精度计算:
printf("%f\n", (double)11979999 / (double)10000);