float
Встроенный тип для чисел с плавающей точкой.
Описание
Встроенный тип float — это 64-битное число с плавающей точкой двойной точности, эквивалентное double в C++. Этот тип имеет 14 надежных десятичных знаков точности. Максимальное значение float составляет приблизительно 1.79769e308, а минимальное — приблизительно -1.79769e308.
Многие методы и свойства в движке используют вместо этого 32-битные числа с плавающей точкой одинарной точности, эквивалентные float в C++, которые имеют 6 надежных десятичных знаков точности. Для структур данных, таких как Vector2 и Vector3, Godot по умолчанию использует 32-битные числа с плавающей точкой, но их можно изменить на использование 64-битных чисел двойной точности, если Godot скомпилирован с опцией precision=double.
Математические вычисления, выполненные с использованием типа float, не гарантируют точности и часто приводят к небольшим ошибкам. Обычно следует использовать методы @GlobalScope.is_equal_approx() и @GlobalScope.is_zero_approx() вместо == для сравнения значений float на равенство.
Обучающие материалы
Конструкторы
float() |
|
Операторы
operator !=(right: float) |
|
operator !=(right: int) |
|
operator *(right: Color) |
|
operator *(right: Quaternion) |
|
operator *(right: Vector2) |
|
operator *(right: Vector2i) |
|
operator *(right: Vector3) |
|
operator *(right: Vector3i) |
|
operator *(right: Vector4) |
|
operator *(right: Vector4i) |
|
operator *(right: float) |
|
operator *(right: int) |
|
operator **(right: float) |
|
operator **(right: int) |
|
operator +(right: float) |
|
operator +(right: int) |
|
operator -(right: float) |
|
operator -(right: int) |
|
operator /(right: float) |
|
operator /(right: int) |
|
operator <(right: float) |
|
operator <(right: int) |
|
operator <=(right: float) |
|
operator <=(right: int) |
|
operator ==(right: float) |
|
operator ==(right: int) |
|
operator >(right: float) |
|
operator >(right: int) |
|
operator >=(right: float) |
|
operator >=(right: int) |
|
Описания конструктора
Создает инициализированное по умолчанию float, установленное на 0.0.
Создает float как копию заданного float.
Преобразует String в float, следуя тем же правилам, что и String.to_float().
Приведите значение bool к значению с плавающей точкой, float(true) будет равно 1,0, а float(false) будет равно 0,0.
Приведите значение int к значению с плавающей точкой, float(1) будет равно 1.0.
Описания оператора
bool operator !=(right: float) 🔗
Возвращает true, если два числа с плавающей точкой отличаются друг от друга.
Примечание: @GDScript.NAN ведет себя не так, как другие числа. Поэтому результаты этого оператора могут быть неточными, если включены NaN.
bool operator !=(right: int) 🔗
Возвращает true, если целое число имеет значение, отличное от плавающего.
Color operator *(right: Color) 🔗
Умножает каждый компонент Color, включая альфа, на заданный float.
print(1.5 * Color(0.5, 0.5, 0.5)) # Выводит (0.75, 0.75, 0.75, 1.5)
Quaternion operator *(right: Quaternion) 🔗
Умножает каждый компонент Quaternion на заданный float. Эта операция сама по себе не имеет смысла, но ее можно использовать как часть большего выражения.
Vector2 operator *(right: Vector2) 🔗
Умножает каждый компонент Vector2 на заданный float.
print(2.5 * Vector2(1, 3)) # Выводит (2.5, 7.5)
Vector2 operator *(right: Vector2i) 🔗
Умножает каждый компонент Vector2i на заданный float. Возвращает Vector2.
print(0.9 * Vector2i(10, 15)) # Выводит (9.0, 13.5)
Vector3 operator *(right: Vector3) 🔗
Умножает каждый компонент Vector3 на заданное float.
Vector3 operator *(right: Vector3i) 🔗
Умножает каждый компонент Vector3i на заданный float. Возвращает Vector3.
print(0.9 * Vector3i(10, 15, 20)) # Выводит (9.0, 13.5, 18.0)
Vector4 operator *(right: Vector4) 🔗
Умножает каждый компонент Vector4 на заданное float.
Vector4 operator *(right: Vector4i) 🔗
Умножает каждый компонент Vector4i на заданный float. Возвращает Vector4.
print(0.9 * Vector4i(10, 15, 20, -10)) # Выводит (9.0, 13.5, 18.0, -9.0)
float operator *(right: float) 🔗
Умножает два числа float.
float operator *(right: int) 🔗
Умножает float и int. Результат — float.
float operator **(right: float) 🔗
Возводит float в степень float.
print(39.0625**0.25) # 2.5
float operator **(right: int) 🔗
Возводит float в степень int. Результат — float.
print(0.9**3) # 0.729
float operator +(right: float) 🔗
Складывает два float'а.
float operator +(right: int) 🔗
Складывает float и int. Результат — float.
float operator -(right: float) 🔗
Вычитает число с плавающей точкой из числа с плавающей точкой.
float operator -(right: int) 🔗
Вычитает int из float. Результат — float.
float operator /(right: float) 🔗
Делит два числа с плавающей точкой.
float operator /(right: int) 🔗
Делит float на int. Результат — float.
bool operator <(right: float) 🔗
Возвращает true, если левое число с плавающей точкой меньше правого.
Примечание: @GDScript.NAN ведет себя не так, как другие числа. Поэтому результаты этого оператора могут быть неточными, если включены NaN.
Возвращает true, если это float меньше указанного int.
bool operator <=(right: float) 🔗
Возвращает true, если левое число с плавающей точкой меньше или равно правому.
Примечание: @GDScript.NAN ведет себя не так, как другие числа. Поэтому результаты этого оператора могут быть неточными, если включены NaN.
bool operator <=(right: int) 🔗
Возвращает true, если это float меньше или равно заданному int.
bool operator ==(right: float) 🔗
Возвращает true, если оба числа с плавающей точкой в точности равны.
Примечание: Из-за ошибок точности чисел с плавающей точкой рассмотрите возможность использования @GlobalScope.is_equal_approx() или @GlobalScope.is_zero_approx() вместо этого, которые более надежны.
Примечание: @GDScript.NAN ведет себя не так, как другие числа. Поэтому результаты этого оператора могут быть неточными, если включены NaN.
bool operator ==(right: int) 🔗
Возвращает true, если float и заданное int равны.
bool operator >(right: float) 🔗
Возвращает true, если левое число с плавающей точкой больше правого.
Примечание: @GDScript.NAN ведет себя не так, как другие числа. Поэтому результаты этого оператора могут быть неточными, если включены NaN.
Возвращает true, если это float больше указанного int.
bool operator >=(right: float) 🔗
Возвращает true, если левое число с плавающей точкой больше или равно правому.
Примечание: @GDScript.NAN ведет себя не так, как другие числа. Поэтому результаты этого оператора могут быть неточными, если включены NaN.
bool operator >=(right: int) 🔗
Возвращает true, если это float больше или равно заданному int.
Возвращает то же значение, как если бы + не было. Унарный + ничего не делает, но иногда он может сделать ваш код более читаемым.
Возвращает отрицательное значение float. Если положительное, делает число отрицательным. Если отрицательное, делает число положительным. С float число ноль может быть как положительным, так и отрицательным.