Я делал кое-что с палиндромами:
Это число 9966006699
доставляло мне проблемы.Это продукт 99979
и 99681
99979 * 99681 = 9966006699
Я запустил это в PHP
$i = 99979 * 99681;
echo $i;
var_dump($i);
Выходы
9966006699 float(9966006699)
Так что в PHPproduct, очевидно, является типом данных с плавающей точкой.Но в Java все по-другому:
Это
public static void main(String[] args) {
float f = 99979 * 99681;
System.out.println(f);
long o = 99979 * 99681;
System.out.println(o);
double d = 99979 * 99681;
System.out.println(d);
int i = 99979 * 99681;
System.out.println(i);
}
Выходы
1.37607206E9
1376072107
1.376072107E9
1376072107
Калькулятор Google дает правильную вещь
Я заблудился, почему Java выдает неправильный вывод?и имеет ли это какое-либо отношение к E9
вещам за типами float и double?Помогите.Спасибо