1. 程式人生 > >double類型數值比較的坑

double類型數值比較的坑

java double類型數值比較

double類型的數據不能直接用==比較

需要用包裝類型的方法比較:

//如果 d1 和 d2 是double類型
if ( Double.doubleToLongBits(d1) == Double.doubleToLongBits(d2) )

//f1 和 f2 是d2是float類型
if( Float.floatToIntBits(f1) == Float.floatToIntBits(f2) )

這兩個是native方法

public static native long doubleToRawLongBits(double var0);

public static native double longBitsToDouble(long var0);

double類型數值比較的坑