float浮点数比较问题

来源:互联网 发布:淘宝最好的减肥产品 编辑:程序博客网 时间:2024/05/08 08:08
注意点:不可将浮点变量用“==”或“!=”与任何数字比较;因为无论是float还是double类型的变量,都有精度限制所以一定要避免将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”形式;假设浮点变量的名字为y
应该将 if (y== 0.0) 转化为  
if ((y>=-EPSINON) && (y<=EPSINON))//EPSINON是允许的误差(即精度)
if ( fabs(x)<=EPSINON)  // fabs(x)取x的绝对值

原创粉丝点击