Как правильно сравнивать double в java — Q&A Хекслет
2026-02-26 18:49 Diff

При сравнении значений типа double в Java следует быть осторожным из-за того, что внутреннее представление чисел с плавающей точкой может быть не точным. Например, значения, которые должны быть равными, могут отличаться на очень малое значение.

Вместо использования операторов == или != для сравнения значений типа double рекомендуется использовать методы класса Double, такие как equals() или compare(), которые предоставляют более точный способ сравнения чисел с плавающей точкой.

Метод equals():

В этом примере мы сравниваем два значения типа double, которые должны быть равными. Для сравнения используем метод equals(), который возвращает true, если значения равны, и false в противном случае.

Для сравнения двух значений типа double по их относительной близости друг к другу используйте метод compare():

Этот метод возвращает 0, если значения равны, 1, если первое значение больше второго, и -1, если первое значение меньше второго. Мы проверяем, равны ли значения, используя == 0