Можете ли вы сравнить значения с плавающей точкой точно с нулем?JAVA

Программисты JAVA общаются здесь
Anonymous
Можете ли вы сравнить значения с плавающей точкой точно с нулем?

Сообщение Anonymous »

Я знаю, что мы не можем сравнить 2 значения с плавающей запятой, используя ==. Мы можем сравнить только они в некотором интервале друг друга.
Я знаю < /p>

if(val == 0.512)
< /code>

неправильно из -за ошибок, присущих расчетам с плавающей запятой, и преобразования в бинарное и
должно быть < /p>

if (val in (0.512-epsilon, 0.512+epsilon))
< /code>

Но 0 специально? Можем ли мы сравнить поплавки с 0 с 0? Или даже это неверно? Особенно в контексте C# и Java? < /P>

double val = 0;
val = getVal();
if(val == 0)


Подробнее здесь: https://stackoverflow.com/questions/237 ... ly-to-zero

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