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

Tipo integrato per i numeri in virgola mobile.

Descrizione

The float built-in type is a 64-bit double-precision floating-point number, equivalent to double in C++. This type has 14 reliable decimal digits of precision. The maximum value of float is approximately 1.79769e308, and the minimum is approximately -1.79769e308.

Many methods and properties in the engine use 32-bit single-precision floating-point numbers instead, equivalent to float in C++, which have 6 reliable decimal digits of precision. For data structures such as Vector2 and Vector3, Godot uses 32-bit floating-point numbers by default, but it can be changed to use 64-bit doubles if Godot is compiled with the precision=double option.

Math done using the float type is not guaranteed to be exact and will often result in small errors. You should usually use the @GlobalScope.is_equal_approx() and @GlobalScope.is_zero_approx() methods instead of == to compare float values for equality.

Note: In a boolean context, a float will evaluate to false if it's exactly equal to 0.0, and to true otherwise.

Tutorial

Costruttori

float

float()

float

float(from: float)

float

float(from: String)

float

float(from: bool)

float

float(from: int)

Operatori

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-()


Descrizioni dei costruttori

float float() 🔗

Costruisce un float predefinito, impostato su 0.0.


float float(from: float)

Costruisce un float come copia del float specificato.


float float(from: String)

Converte una String in un float, seguendo le stesse regole del metodo String.to_float().


float float(from: bool)

Converte un bool in un valore in virgola mobile, float(true) sarà uguale a 1.0 e float(false) sarà uguale a 0.0.


float float(from: int)

Converti un int in un valore in virgola mobile, float(1) sarà uguale a 1.0.


Descrizioni degli operatori

bool operator !=(right: float) 🔗

Restituisce true se due numeri in virgola mobile sono diversi tra loro.

Nota: @GDScript.NAN non si comporta come altri numeri. Pertanto, i risultati di questo operatore potrebbero non essere accurati se vengono inclusi i NaN.


bool operator !=(right: int) 🔗

Restituisce true se l'intero ha un valore diverso dal float.


Color operator *(right: Color) 🔗

Moltiplica ogni componente del Color, compreso l'alfa, per il float fornito.

print(1.5 * Color(0.5, 0.5, 0.5)) # Stampa (0.75, 0.75, 0.75, 1.5)

Quaternion operator *(right: Quaternion) 🔗

Moltiplica ogni componente del Quaternion per il float fornito. Questa operazione non ha senso di per sé, ma può essere utilizzata come parte di un'espressione più ampia.


Vector2 operator *(right: Vector2) 🔗

Moltiplica ogni componente del Vector2 per il float fornito.

print(2.5 * Vector2(1, 3)) # Stampa (2.5, 7.5)

Vector2 operator *(right: Vector2i) 🔗

Moltiplica ogni componente del Vector2i per il float fornito. Restituisce un Vector2.

print(0.9 * Vector2i(10, 15)) # Stampa (9.0, 13.5)

Vector3 operator *(right: Vector3) 🔗

Moltiplica ogni componente del Vector3 per il float fornito.


Vector3 operator *(right: Vector3i) 🔗

Moltiplica ogni componente del Vector3i per il float fornito. Restituisce un Vector3.

print(0.9 * Vector3i(10, 15, 20)) # Stampa (9.0, 13.5, 18.0)

Vector4 operator *(right: Vector4) 🔗

Moltiplica ogni componente del Vector4 per il float fornito.


Vector4 operator *(right: Vector4i) 🔗

Moltiplica ogni componente del Vector4i per il float fornito. Restituisce un Vector4.

print(0.9 * Vector4i(10, 15, 20, -10)) # Stampa (9.0, 13.5, 18.0, -9.0)

float operator *(right: float) 🔗

Moltiplica due float.


float operator *(right: int) 🔗

Moltiplica un float e un int. Il risultato è un float.


float operator **(right: float) 🔗

Eleva un float alla potenza di un float.

print(39.0625**0.25) # 2.5

float operator **(right: int) 🔗

Eleva un float alla potenza di un int. Il risultato è un float.

print(0.9**3) # 0.729

float operator +(right: float) 🔗

Aggiunge due float.


float operator +(right: int) 🔗

Aggiunge un float e un int. Il risultato è un float.


float operator -(right: float) 🔗

Sottrae un float da un float.


float operator -(right: int) 🔗

Sottrae un int da un float. Il risultato è un float.


float operator /(right: float) 🔗

Divide due float.


float operator /(right: int) 🔗

Divide un float per un int. Il risultato è un float.


bool operator <(right: float) 🔗

Restituisce true se il float sinistro è minore di quello destro.

Nota: @GDScript.NAN non si comporta come altri numeri. Pertanto, i risultati di questo operatore potrebbero non essere accurati se vengono inclusi i NaN.


bool operator <(right: int) 🔗

Restituisce true se questo float è minore dell'int fornito.


bool operator <=(right: float) 🔗

Restituisce true se il float sinistro è minore o uguale a quello destro.

Nota: @GDScript.NAN non si comporta come altri numeri. Pertanto, i risultati di questo operatore potrebbero non essere accurati se vengono inclusi i NaN.


bool operator <=(right: int) 🔗

Restituisce true se questo float è minore o uguale all'int fornito.


bool operator ==(right: float) 🔗

Restituisce true se entrambi i float sono esattamente uguali.

Nota: A causa di errori di precisione per virgola mobile, considera invece utilizzare @GlobalScope.is_equal_approx() o @GlobalScope.is_zero_approx(), che sono più affidabili.

Nota: @GDScript.NAN non si comporta come altri numeri. Pertanto, i risultati di questo operatore potrebbero non essere accurati se vengono inclusi i NaN.


bool operator ==(right: int) 🔗

Restituisce true se questo float e l'int fornito sono uguali.


bool operator >(right: float) 🔗

Restituisce true se il float sinistro è maggiore di quello destro.

Nota: @GDScript.NAN non si comporta come altri numeri. Pertanto, i risultati di questo operatore potrebbero non essere accurati se vengono inclusi i NaN.


bool operator >(right: int) 🔗

Restituisce true se questo float è maggiore dell'int fornito.


bool operator >=(right: float) 🔗

Restituisce true se il float sinistro è maggiore o uguale a quello destro.

Nota: @GDScript.NAN non si comporta come altri numeri. Pertanto, i risultati di questo operatore potrebbero non essere accurati se vengono inclusi i NaN.


bool operator >=(right: int) 🔗

Restituisce true se questo float è maggiore o uguale all'int fornito.


float operator unary+() 🔗

Restituisce lo stesso valore come se + non ci fosse. Il + unario non fa nulla, ma a volte può rendere il tuo codice più leggibile.


float operator unary-() 🔗

Restituisce il valore negativo del float. Se positivo, rende il numero negativo. Se negativo, rende il numero positivo. Con i numeri in virgola mobile, il numero zero può essere sia positivo sia negativo.