C/C++中float精度问题
#include <stdio.h>
int main()
{
float f1=3.14,f2=3.14;
if(f1==3.14f) //条件成立
printf("equal \n");
if(f1==3.14000000)//条件不成立
printf("equal 2\n");
if(f1==3.14) //条件不成立
printf("equal 2\n");
if(f1==f2) //条件成立
printf("var equal\n");
return 0;
}
//summary:不可将浮点变量用“==”或“!=”与数字比较