Здравствуйте, такая ситуация: в моёй программе везде фигурируют double и Double, они содержат числа с одним знаком после точки ( double x=2.5, y= 3.5, z= 4.5, ..), и эти числа периодически нужно сравнивать! Подскажите пожалуйста могу ли я их сравнивать просто операторами больше >,==,< для получения такого результата:
double x = 225.5;
Double y = new Double(225.5);
System.out.Println(x==y.doubleValue());
или в данном случае (при такой инициаллизации переменных значениями с одним числом после точки) эти числа могу быть разные при видимо одинаковом значении? Спасибо!
В выражении (x==y.doubleValue()) сравниваются примитивные типы, поэтому использование простого равенства является верным. Другое дело, что в double накапливаются ошибки округления и в результате вычислений вместо 4 может получиться 3.999998 Тогда простое сравнение будет неуместным. О решении этой проблемы отписался Иван