Numeri

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

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) --> vero
print(-0 > 1) --> falso
print(-0 < 1) --> vero
print(-0 > -1) --> vero
print(-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 = 5
local testDecimal = 9.12761656
local testString = "Hello"
print(type(testInt)) --> numero
print(type(testDecimal)) --> numero
print(type(testString)) --> stringa
print(typeof(testInt)) --> numero
print(typeof(testDecimal)) --> numero
print(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)) --> 3
print(math.floor(-3.3)) --> -4
print(math.ceil(3.3)) --> 4
print(math.ceil(-3.3)) --> -3
print(math.modf(3.3)) --> 3 0.2999999999999998
print(math.modf(-3.3)) --> -3 -0.2999999999999998