无论是float还是double类型的变量,都有精度限制。所以一定要避免将浮点变量用"=="或"!="与数字比较,应该设法转化成为">="或"<="形式。
不建议使用的例子:
if(0.0 == x)
if(0.0 != x)
强烈推荐的例子:
//EPSINON是允许的误差(精度)
if(x >= -EPSINON) && (x <= EPSINON)
if(x >= -EPSINON) || (x <= EPSINON)
无论是float还是double类型的变量,都有精度限制。所以一定要避免将浮点变量用"=="或"!="与数字比较,应该设法转化成为">="或"<="形式。
不建议使用的例子:
if(0.0 == x)
if(0.0 != x)
强烈推荐的例子:
//EPSINON是允许的误差(精度)
if(x >= -EPSINON) && (x <= EPSINON)
if(x >= -EPSINON) || (x <= EPSINON)
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/374321.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!