在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)
————————————————
版權聲明:本文為CSDN博主「Lavi_qq_2910138025」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/liuweiyuxiang/article/details/71104712