Что такое float в Java?

Я написал этот код:

float b = 3.6;

и я получаю следующее:

Error:Unresolved compilation problem: 
    Type mismatch: cannot convert from double to float

Почему? Каково определение float?

Ответ 1

В Java, когда вы вводите десятичное число как 3.6, его интерпретируется как double. double - это 64-битная точность IEEE 754 с плавающей запятой, а float - 32-битная точность IEEE 754 с плавающей запятой. Поскольку float менее точен, чем a double, преобразование не может выполняться неявно.

Если вы хотите создать float, вы должны закончить свой номер с помощью f (т.е.: 3.6f).

Подробнее см. в определение примитивных типов данных учебника Java.

Ответ 2

Сделай это

float b= 3.6f;

Литерал с плавающей точкой имеет тип float, если к нему добавлена буква ASCII F или f; в противном случае его тип является двойным, и к нему можно добавить суффикс ASCII-буквы D или d.

Ответ 3

Дело в том, что десятичные числа по умолчанию удваиваются. И так как double не вписывается в float, вы должны прямо сказать, что вы намеренно определяете float. Итак, идите с:

float b = 3.6f;

Ответ 4

В JAVA значения, такие как:

  • 8.5
  • 3,9
  • (и т.д.)

Предполагается, что double, а не float.

Вы также можете выполнить бросок, чтобы решить проблему:

float b = (float) 3.5;

Другое решение:

float b = 3.5f;