System.out.println(convertEurToUsd(50, 10.2));
Почему при умножении выводит значения 509.99999999999994, а не 510?
Vitya Safronov
13 уровень
Почему выводит это значение?
Решен
Комментарии (5)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Zaur Vagabov
28 июня 2018, 21:42
А какое требование задачи не выполняется при проверке?
0
Vitya Safronov
29 июня 2018, 17:58
Все требования выполняются, просто хочу понять, почему такое произведение получается?
0
Zaur Vagabov
29 июня 2018, 19:33решение
В типах с плавающей точкой 1.0 на самом деле не равно целочисленной 1. Возникает из-за представления в двоичном виде данного числа. Почитай надосуге
+2
Александр Смирнов
28 июня 2018, 13:18
взглянуть бы на ваш код одним глазком, скорей всего вы возвращаете тип double, а не int
0
Vitya Safronov
28 июня 2018, 13:49
Да, да. Возвращаю тип double
0