我只是在玩数据类型并陷入了这种困境。 谁能在这里向我解释原因
#include<iostream>
using namespace std;
int main() {
float a= 0.7;
if(a < 0.7)
cout<<"Yes";
else
cout<<"No";
return 0;
}
我知道这是因为自动0.7作为文字将是双倍的。
#include<iostream>
using namespace std;
int main(){
float a= 0.8;
if(a < 0.8)
cout<<"Yes";
else
cout<<"No";
return 0;
}
答案 0 :(得分:1)
0.7
没有float
的确切表示。近似float
略小于double
0.7
的{{1}}表示(这是if
语句中用作常量时的默认解释。)
有关详细信息,请参阅链接的重复问题或评论中的无数变体。