Как сравнить два двойных значения на Java?JAVA

Программисты JAVA общаются здесь
Anonymous
Как сравнить два двойных значения на Java?

Сообщение Anonymous »

Простое сравнение двух двойных значений в Java создает некоторые проблемы. Давайте рассмотрим следующий простой фрагмент кода в Java. < /P>

Код: Выделить всё

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));
}
}
< /code>



Приведенный выше код, по-видимому, возвращает true < /code>, оценка выражения ((a-b) == 1.0) < /code>, но это не так. Он возвращает false 
вместо этого потому, что оценка этого выражения составляет 0,99999999999999999 , что фактически ожидалось, что будет 1,0 , что не равно 1,0 , следовательно, условие оценивается с логическим false . Какой лучший и предлагаемый способ преодолеть такую ​​ситуацию?

Подробнее здесь: https://stackoverflow.com/questions/808 ... es-in-java

Вернуться в «JAVA»