千家信息网

double类型数值比较的坑

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,double类型的数据不能直接用==比较需要用包装类型的方法比较://如果 d1 和 d2 是double类型if ( Double.doubleToLongBits(d1) == Double.do
千家信息网最后更新 2025年01月23日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);

0