问题:不论float转double,还是double转float,都会有精度丢失的问题。
解决思路:
先将float和double数据类型转成string类型,再转成BigDecimal类型进行值大小比较,完美解决!
public static void main(String[] args) {
Float f=135.005f;
Double d=135.005d;
BigDecimal ff = new BigDecimal(Float.toString(f));
BigDecimal dd = new BigDecimal(Double.toString(d));
System.out.println(ff);
System.out.println(dd);
BigDecimal bigyue = new BigDecimal(0.1);
if (ff.compareTo(dd) ==1){//返回值如果是1,则ff大,0则相等,-1则ff小于dd
System.out.println("超过统计值");
}else {
System.out.println("可以占用");
}
}