Я написал такой код:
float b = 3.6;
и я получаю это:
Ошибка: нерешенная проблема компиляции:
Несоответствие типов: невозможно преобразовать из double в float
Зачем? Что такое определение float?
Я написал такой код:
float b = 3.6;
и я получаю это:
Ошибка: нерешенная проблема компиляции:
Несоответствие типов: невозможно преобразовать из double в float
Зачем? Что такое определение float?
fк литералу»), в то время как другой вопрос спрашивает, почему вы должны добавить f. Хотя они связаны, это не дубликат.
Ответы:
В Java, когда вы вводите десятичное число как 3.6, оно интерпретируется как double. doubleпредставляет собой 64-битную точность с плавающей запятой IEEE 754 floatи 32-битную точность с плавающей запятой IEEE 754. Поскольку a floatменее точен, чем a double, преобразование не может быть выполнено неявно.
Если вы хотите создать число с плавающей запятой, вы должны закончить свой номер f(например:) 3.6f.
Для получения дополнительных объяснений см. Определение примитивных типов данных в руководстве по Java .
Сделай это
float b= 3.6f;
Литерал с плавающей точкой имеет тип float, если он имеет суффикс ASCII-буквы F или f; в противном случае его тип двойной, и он может быть дополнен буквой ASCII D или d