[英]C++ Comparing Doubles
將<或>與雙精度一起使用是否存在任何已知問題?
d1 > d2
d2 > d1
我找不到任何跡象表明這將是一個問題。
但是,由於存在平等問題,我認為這將是一個問題,我將不得不使用Epsilon使用“幾乎相等”的邏輯:
d1 >= d2
d2 >= d1
>
和<
完全按照預期工作; 如果d1
的值大於d2
的值,則d1 > d2
將為true
(反之亦然)。 問題(如果存在)是d1
和d2
可能與您期望的值不完全相同。
但是,用>
>=
替換>
會改變d1
一個值的行為(對於d2
的固定值)。
唯一的問題是,在您認為兩個變量d1
和d2
具有相等值的情況下,您可能會獲得“誤報”。 在這種情況下,如果您執行d1 > d2
,則該表達式可能會評估為true。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.