Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java jscience Real comparison返回false,即使值相等_Java_Comparison_Jscience - Fatal编程技术网

Java jscience Real comparison返回false,即使值相等

Java jscience Real comparison返回false,即使值相等,java,comparison,jscience,Java,Comparison,Jscience,这是我的密码: Real AB = adj[a].get(b); System.out.println("AB " + AB); Real AC = adj[a].get(c); System.out.println("AC " + AC); Real BC = adj[b].get(c); System.out.println("BC " + BC); System.out.println(AB.plus(BC)); System.out.println(AB.plus(BC).equals(

这是我的密码:

Real AB = adj[a].get(b);
System.out.println("AB " + AB);
Real AC = adj[a].get(c);
System.out.println("AC " + AC);
Real BC = adj[b].get(c);
System.out.println("BC " + BC);
System.out.println(AB.plus(BC));
System.out.println(AB.plus(BC).equals(AC));
以下是输出:

AB 2.2360679775
AC 6.7082039325
BC 4.4721359550
6.7082039325
false
即使数字相同,为什么返回false?我也试过了

System.out.println(AB.plus(BC).compareTo(AC) == 0);
同样,
false

对于
Real
equals()
实现检查相同的有效位、错误和指数。相反,使用
approximates()
,它“考虑到可能的错误(例如数字错误)。”

附录:关于浮点比较,另请参见以下条款: