我知道有很多类似的主题,但通常问题是不同的舍入,比如5而不是4,而正确的值是double值,因为它具有更高的精度。在制作一些东西时我遇到了问题。我写了一个新的,简短的程序来呈现它。为什么会这样?
#include <iostream>
using namespace std;
int main()
{
double lbs1 = 285.7;
float lbs2 = 285.7f;
double pds_left1 = lbs1 - int (lbs1);
double pds_left2 = lbs2 - int (lbs2);
cout << "1: " << pds_left1 << endl;
cout << "2: " << pds_left2 << endl;
return 0;
}
结果是:
1:0.7
2:0.700012