Ответ 1
Он будет автоматически преобразован (см. это в расширении примитивных преобразований). Однако, если вы хотите получить результат как float
, вам нужно явно указать возвращаемое значение.
Почему существует только Math.floor(double)?
У меня есть поплавок, и я хочу округлить его "вниз".
нужно ли мне удвоить?
Он будет автоматически преобразован (см. это в расширении примитивных преобразований). Однако, если вы хотите получить результат как float
, вам нужно явно указать возвращаемое значение.
Да, но когда скорость является критической, необходимо обеспечить поддержку одноточечных поплавков. Для java.lang.Math
должна быть единственная точность, аналогичнаяНет, примитив float
будет автоматически передан в double
без потери точности.
Двойник достаточно большой, чтобы точно представлять все возможные поплавки и многое другое. Вы не потеряете точность, приведение происходит автоматически.
float
и double
, оба являются типами данных с плавающей точкой, причем double имеет больший диапазон. Вы должны иметь возможность использовать вашу переменную float с Math.Floor(double) без каких-либо проблем.
Вы можете просто передать float, не делая приведение, поскольку float имеет меньшую точность, чем double.