Почему этот фрагмент кода дает неточные результаты?Неточные вычисления с использованием double и float
double a = 0.3 + 0.3 + 0.3;
System.out.println(a);
float b = 0.3f + 0.3f + 0.3f;
System.out.println(b);
Результаты
0.8999999999999999
0.90000004
Прецизии удваиваются при использовании 'double'. Вы жертвуете точностью при выполнении сохранения с помощью float. Вы должны получить предупреждение о компиляции, указав, что точность b может быть потеряна или что-то еще. Также проверьте спецификацию номера с плавающей запятой IEEE при использовании языков программирования и их представления. – ha9u63ar