Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

float

Вбудований тип для плавно-точкових чисел.

Опис

Вбудований тип float — це 64-бітне число з плаваючою комою подвійної точності, еквівалентне типу double у C++. Цей тип має 14 надійних десяткових знаків точності. Максимальне значення float становить приблизно 1.79769e308, а мінімальне — приблизно -1.79769e308.

Багато методів та властивостей у рушії використовують натомість 32-бітні числа з плаваючою комою одинарної точності, еквівалентні float у C++, які мають 6 надійних десяткових знаків точності. Для таких структур даних, як Vector2 та Vector3, Godot за замовчуванням використовує 32-бітні числа з плаваючою комою, але це можна змінити на використання 64-бітних чисел з подвійною точністю, якщо Godot скомпільовано з опцією precision=double.

Точність математичних обчислень, виконаних з використанням типу float, не гарантується і часто призводить до невеликих похибок. Зазвичай для порівняння значень float на рівність слід використовувати методи @GlobalScope.is_equal_approx() та @GlobalScope.is_zero_approx() замість ==.

Примітка: У булевому контексті float буде обчислюватися як false, якщо воно точно дорівнює 0.0, і як true в іншому випадку.

Посібники

Конструктори

float

float()

float

float(from: float)

float

float(from: String)

float

float(from: bool)

float

float(from: int)

Оператори

bool

operator !=(right: float)

bool

operator !=(right: int)

Color

operator *(right: Color)

Quaternion

operator *(right: Quaternion)

Vector2

operator *(right: Vector2)

Vector2

operator *(right: Vector2i)

Vector3

operator *(right: Vector3)

Vector3

operator *(right: Vector3i)

Vector4

operator *(right: Vector4)

Vector4

operator *(right: Vector4i)

float

operator *(right: float)

float

operator *(right: int)

float

operator **(right: float)

float

operator **(right: int)

float

operator +(right: float)

float

operator +(right: int)

float

operator -(right: float)

float

operator -(right: int)

float

operator /(right: float)

float

operator /(right: int)

bool

operator <(right: float)

bool

operator <(right: int)

bool

operator <=(right: float)

bool

operator <=(right: int)

bool

operator ==(right: float)

bool

operator ==(right: int)

bool

operator >(right: float)

bool

operator >(right: int)

bool

operator >=(right: float)

bool

operator >=(right: int)

float

operator unary+()

float

operator unary-()


Описи конструкторів

float float() 🔗

0.0.


float float(from: float)

Constructs a float як копія даної float.


float float(from: String)

Перетворення String в float, наступні ті ж правила, як String.to_float().


float float(from: bool)

У ролях bool значення для плавучої точки значення float(true) буде дорівнює 1.0 і float(false) будуть рівні 0.0.


float float(from: int)

У ролях 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)) # Prints (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)) # Prints (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. Повертає Вектор3.

print(0.9 * Vector3i(10, 15, 20)) # Prints (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 operator +(right: int) 🔗

Додати float і int. Результатом є float.


float operator -(right: float) 🔗

Відстежуйте плавку з плавки.


float operator -(right: int) 🔗

Відстежуйте вміст з float. Результатом є float.


float operator /(right: float) 🔗

Дивиди дві плавки.


float operator /(right: int) 🔗

Дивиди float int. Результатом є float.


bool operator <(right: float) 🔗

Повертає true, якщо ліве число з рухомою комою менше від правого.

Примітка: Поведінка @GDScript.NAN відрізняється від інших чисел. Через це результати цього оператора можуть бути неточними за наявності NaN-ів.


bool operator <(right: int) 🔗

Повертає 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-ів.


bool operator >(right: int) 🔗

Повертає true, якщо цей float більший за заданий int.


bool operator >=(right: float) 🔗

Повертає true, якщо ліве число з рухомою комою більше або дорівнює правому.

Примітка: Поведінка @GDScript.NAN відрізняється від інших чисел. Через це результати цього методу можуть бути неточними за наявності NaN-ів.


bool operator >=(right: int) 🔗

Повертає true, якщо цей float більший або дорівнює вказаному int.


float operator unary+() 🔗

Повертає однакову вартість, якщо + не було. `` +`` нічого не робить, але іноді це може зробити ваш код більш читабельним.


float operator unary-() 🔗

Повертає негативне значення float. Якщо позитивне, то виходить число негативно. Якщо негативно, то виходить число позитивним. З поплавками число нуль може бути або позитивним або негативним.