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

Il tipo integrato float è un numero in virgola mobile a doppia precisione a 64 bit, equivalente a double in C++. Questo tipo ha 14 cifre decimali affidabili di precisione. Il valore massimo di un float è circa 1.79769e308 e il minimo è circa -1.79769e308.

Molti metodi e proprietà nel motore usano invece numeri in virgola mobile a precisione singola a 32 bit, equivalenti a float in C++, che hanno 6 cifre decimali affidabili di precisione. Per strutture dati come Vector2 e Vector3, Godot usa numeri in virgola mobile a 32 bit per impostazione predefinita, ma può essere modificato per usare numeri double a 64 bit se Godot è compilato con l'opzione precision=double.

Non è garantita l'esattezza dei calcoli eseguiti utilizzando il tipo float e spesso risulteranno piccoli errori. Di solito dovresti usare i metodi @GlobalScope.is_equal_approx() e @GlobalScope.is_zero_approx() invece di == per confrontare l'uguaglianza di valori float.

Nota: In un contesto booleano, un float sarà valutato come false se è esattamente uguale a 0.0 e come true altrimenti.

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.