無論是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.pswp.cn/news/374321.shtml 繁體地址,請注明出處:http://hk.pswp.cn/news/374321.shtml 英文地址,請注明出處:http://en.pswp.cn/news/374321.shtml
如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!