Я не понимаю, почему значения float отличаются от двойных значений. Из приведенного ниже примера видно, что float дает другой результат, чем double для одной и той же операции:
public class Test {
public static void main(String[] args) {
double a = 99999.8d;
double b = 99999.65d;
System.out.println(a + b);
float a2 = 99999.8f;
float b2 = 99999.65f;
System.out.println(a2 + b2);
}
}
Вывод:
199999.45
199999.44
Можете ли вы объяснить, что делает это различие между float и double?