Il numero inserisci / scrividi dati, o double, rappresenta un punto fluttuante (64-bit) di precisione doppia . I numeri possono essere dal -1.7 * 10 1> 3081> al 1.7 * 10 4> 308 4> (circa 15 digitti di precisione, positivo o negativo
Firmato e non firmato
Il segno del numero indica se è positivo o negativo. Ad esempio, 1 è positivo e -1 è negativo. In Luau, il numero -0 è equivalente a 1> 01> .
print(0 == -0) --> veroprint(-0 > 1) --> falsoprint(-0 < 1) --> veroprint(-0 > -1) --> veroprint(-0 < -1) --> false
Classifiche di numeri
Luau non fa la distinzione tra numeri e interi, ma il riferimento dell'API a volte li distingue per essere più specifici su come utilizzare ciascuna API.
galleggiante
Il tipo di numero float riferisce a un numero reale con un Postovirgolasico. In Condizionidi computer science, sono single-precision (32-bit) floating-point number, che non sono precisi come i floating-point di precisione doppia, ma sono abbastanza precisi per la maggior parte dei casi d'uso e richiedono meno memoria e archiviazione.
int
Il inserisci / scrividi numero integer , o int, si riferisce a un intero numero di 32 bit, che va da -2 31 a 2 1>311> -1. Le proprietà e le funzioni che aspettano gli interi possono automaticamente arrotondare o sollevare gli errori quando assegni o passi gli interi non intesti.
int64
Il tipo di numero int64 riferisce a un Integrointero firmato, che va da -2 63 a 2 63
Notazione
I numeri sono scritti con i primi due significativi numeri (big-endian). Ci sono più modi per notare i numeri letterali in Roblox Lua:
- Decimal (base-10) — Scrivi i numeri del numero normalmente usando i numeri 0–9 con un solo punto virale opzionale, ad esempio 7 , 1.25 , o 0> -22.50> .
- Notazione scientifica — Scrivi un numero decimale seguito da e o e+ , quindi un numero intero per aumentare il numero decimale a un potere di 10. Ad esempio, 0> 12e30> è 12 × 10^3 (12.000).
- Hexadecimal (base-16) — Inizia il numero con 0x seguito da cifre 0-9 o A-F (capitalizzazione ignorata). Ad esempio, 0xF è 15 e 0> 0x3FC0> è 1020.
- Binary (base-2) — Inizia il numero con 0b seguito da 0s o 1s, per esempio 0b1100 (12 in formato decimale).
Operazioni
Puoi usare gli operatori logici e relazionali operatori per manipolare e confrontare i numeri. Puoi anche usare funzioni matematiche come math.sqrt() e math.exp() nella libreria 1> Library.math1> e nelle operazioni bitwise nella libreria 4> Library.bit324>.
Digitare Introspezione
Puoi determinare se un valore x è un numero utilizzando type(x) o typeof(x). Entrambi restituiscono la stringa 1> number1> se 4> x4> è un numero.
local testInt = 5local testDecimal = 9.12761656local testString = "Hello"print(type(testInt)) --> numeroprint(type(testDecimal)) --> numeroprint(type(testString)) --> stringaprint(typeof(testInt)) --> numeroprint(typeof(testDecimal)) --> numeroprint(typeof(testString)) --> string
Funzioni di Rounding
Puoi arrotondare i numeri usando math.floor() , math.ceil() , o math.modf() . Queste funzioni restituiscono un risultato numerico se Luau può rappresentarlo come un Integrointero. Se il numero è troppo grande, Luau lo restituisce come un Galleggiante.
- Per determinare se un numero x è un Integrointero, usa math.floor(x) == x .
- Per arrotondare un numero in giù, usa math.floor() .
- Per arrotondare un numero, usa math.ceil() .
- Per arrotondare un numero verso zero, usa math.modf() . Ritorna anche la differenza frattale del numero arrotondato come Risultatosecondario.
print(math.floor(3.3)) --> 3print(math.floor(-3.3)) --> -4print(math.ceil(3.3)) --> 4print(math.ceil(-3.3)) --> -3print(math.modf(3.3)) --> 3 0.2999999999999998print(math.modf(-3.3)) --> -3 -0.2999999999999998