double类型比较的问题 double精度问题, 用Bigdecimal. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Double d1,d2,d3,d4,d5; d1 = new Double(2000000); d2 = new Double(-4611342.65); d3 = new Double(6084240.43); d4 = new Double(1399258.77); d5 = new Double(4872156.55); Double d0 = new Double(d1.doubleValue()+d2.doubleValue()+d3.doubleValue()+ d4.doubleValue()); if(d0.equals(d5)) { System.out.println(d0.doubleValue()); System.out.println("NO =="); } else System.out.println("=="); } 多谢了以上各位兄弟,由于业务上要求对精度要求不是很严格偶采用了Math.abs(d1-d2)方法来比较是否相等,暂时能够满足需求了。 本来浮点数就有一个精确位的概念计算机又不是人脑,浮点数比较当然有误差了应该用 (d1+d2+d3+d4) - d5 的精确度来比较 请各位帮忙看下,错误信息 一句话的小问题 请问,怎么接受串口的数据(底层).谢谢 请问你们学会第一门语言用了多长时间? java自定义的线程类对象和Thread类对象是什么关系? 请问,谁有MS ACCESS的JDBC驱动? 关于GMT时间 急!请教一个问题:如何在TableView中加上Button?(100分) JSP-Action页面值传递问题For input string "classid" 我想判断一个字符串是否被另一个包含 关于synchronized的用法 一道线程的题目,答案和JLS的定义有些冲突
d1 = new Double(2000000);
d2 = new Double(-4611342.65);
d3 = new Double(6084240.43);
d4 = new Double(1399258.77);
d5 = new Double(4872156.55);
Double d0 = new Double(d1.doubleValue()+d2.doubleValue()+d3.doubleValue()+
d4.doubleValue());
if(d0.equals(d5))
{
System.out.println(d0.doubleValue());
System.out.println("NO ==");
}
else
System.out.println("==");
}
偶采用了Math.abs(d1-d2)方法来比较是否相等,暂时能够满足需求了。
计算机又不是人脑,浮点数比较当然有误差了应该用 (d1+d2+d3+d4) - d5 的精确度来比较