1. 程式人生 > >Java中double型別比較大小或相等的方法

Java中double型別比較大小或相等的方法

在Java中int型別資料的大小比較可以使用雙等號,double型別則不能使用雙等號來比較大小,如果使用的話得到的結果將永遠是不相等,即使兩者的精度是相同的也不可以。下面介紹兩種比較double資料是否相等的方法。

第一種方法:轉換成字串

如果要比較的兩個double資料的字串精度相等,可以將資料轉換成string然後藉助string的equals方法來間接實現比較兩個double資料是否相等。注意這種方法只適用於比較精度相同的資料,並且是隻用用於比較是否相等的情況下,不能用來判斷大小。

第二種方法:使用sun提供的Double.doubleToLongBits()方法

該方法可以將double轉換成long型資料,從而可以使double按照long的方法(<, >, ==)判斷是否大小和是否相等。

例如:

Double.doubleToLongBits(0.01) == Double.doubleToLongBits(0.01) 
Double.doubleToLongBits(0.02) > Double.doubleToLongBits(0.01) 
Double.doubleToLongBits(0.02) < Double.doubleToLongBits(0.01)