package doublecomparision;
final public class DoubleComparision
{
public static void main(String[] args)
{
double a = 1.000001;
double b = 0.000001;
System.out.println("/n"+((a-b)==1.0));
}
}
上面的代码似乎返回true,表达式的评估((a-b)== 1.0)但它没有.它返回false,因为此表达式的计算结果为0.9999999999999999,实际上预期为1.0,不等于1.0,因此,条件计算结果为布尔值false.克服这种情况的最佳方法是什么?
本文由 投稿者 创作,文章地址:https://blog.isoyu.com/archives/ruhebijiaojavazhongdelianggedoublezhi.html
采用知识共享署名4.0 国际许可协议进行许可。除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。最后编辑时间为:9 月 20, 2019 at 06:40 上午