Выдало ошибку при формуле double TF = (9/5)*celsius+32;
Подсказка сообщила что необходимо было писать double TF = (9/5.0)*celsius+32;
Объясните пожалуйста в чем разница между делением на 5 и на 5.0. И почему, если тип double требует числа с плавающей точкой, девятку в этой формуле не потребовало записать как 9.0?(double TF = (9.0/5.0)*celsius+32;)
Заранее спасибо
Кирилл
26 уровень
в чем разница между 5 и 5.0
Решен
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Magos Reductor ExceptionExpert
21 октября 2019, 11:16
если хотет больше информации просто прогуглите тему преобразование типов в java
0
Magos Reductor ExceptionExpert
21 октября 2019, 11:16решение
double TF = (9.0/5.0)*celsius+32; можно и так
еще можно было, это потому что происходит неявное преведение типов, Компилятор видет что целое число делится на целое число, потому результатом будет именно целое число типа int. что бы такого не было нужно использовать явное приведение типов. можно его можно указав точку в одном из делителей. Про разширение и сужение типов вы узнаете дальше по курсу не волнуйтесь .
Именно по причине неявного приведения мы пишем float a = 12.5f; потому что все числа с плавущей точкой это double по умолчанию в java . float a = (float)12.5; эта запись аналогична первой.
+4
Nurs
11 апреля 2020, 17:31
СПАСИБОООО
0