Die eingeben, oder double repräsentiert eine Doppelpräzision (64-Bit) schwebende Zahl. Zahlen können von -1.7 * 10 1>3081> bis 1.7 * 10 4>3084> (ca. 15-stellige Präzision, positiv oder negativ) reichen
Unterschrieben und nicht unterzeichnet
Das Zeichen der Zahl zeigt an, ob es positiv oder negativ ist. Zum Beispiel ist 1 positiv und -1 negativ. In Luau ist die Zahl -0 gleichbedeutend mit 1> 01>.
print(0 == -0) --> wahrprint(-0 > 1) --> falschprint(-0 < 1) --> wahrprint(-0 > -1) --> wahrprint(-0 < -1) --> false
Nummern-Klassifikationen
Luau unterscheidet nicht zwischen Zahlen und Inhalten, aber die API-Referenz unterscheidet manchmal zwischen ihnen, um genauer zu sein, wie man jede API verwendet.
gleitkomma
Die float Zahlentyp bezieht sich auf eine reale Zahl mit einem Ort. In BedingungenComputerwissenschaft ist dies einzel-Präzision (32-Bit) schwimmender Punktzahl, was nicht so genau ist wie doppel-Präzisionsschwimmende Punktezahlen, aber für die meisten Anwendungsfälle genau genug ist und weniger Speicher und Lagerplatz erfordert.
int
Die integer eingeben, oder int , bezieht sich auf eine 32-Bit-Ganzzahl, die von -2 31 bis 2 1>311> reicht. Eigenschaften und Funktionen, die inteGER erwarten, können bei der Zuweisung oder Verteilung von Nichtintegern automatisch Runden oder Fehler aufrufen, wenn Sie ihnen keine inteGER zuweisen.
int64
Die int64 Zahlentyp bezieht sich auf einen signierten ganzzahlig, der sich von -2 63 bis
Notation
Zahlen werden mit den wichtigsten Zahlen (Big-Endian) dargestellt. Es gibt mehrere Möglichkeiten, Zahlenliteralen in Roblox Lua aufzuschreiben:
- Zeimal (Basis-10) — Schreiben Sie die Zahlen der Zahl normalerweise mit den Zahlen 0–9 mit einem einzigen optionalen Trenn점, z. B. 7 , 1.25 oder 0> -22.50> .
- Wissenschaftliche Notation — Schreiben Sie einen decimal number, gefolgt von e oder e+, dann ein ganzer Zahl, um die decimal number auf 10^3 (12.000) zu erhöhen. Zum Instanz, 0> 12e3 0> ist 12 × 10^3 (12.000).
- Hexadecimal (Base-16) — Beginne die Zahl mit 0x und folgenden Zahlen 0–9 oder A–F (Kapitalisierung ignoriert). Zum Beispiel, 0xF ist 15 und 0> 0x3FC0> ist 1020.
Betriebs
Du kannst logische und relationale Operatoren verwenden, um Zahlen zu manipulieren und zu vergleichen. Du kannst auch mathematische Funktionen wie math.sqrt() und math.exp() in der 1> Library.math1> Bibliothek und bitwise-Operationen in der 4> Library.bit324> Bibliothek verwenden.
Typ-Introspektion
Sie können bestimmen, ob ein Wert x eine Zahl ist, indem Sie type(x) oder typeof(x) verwenden. Beide geben die Zeichenfolge 1> number1> zurück, wenn 4> x4> eine Zahl ist.
local testInt = 5local testDecimal = 9.12761656local testString = "Hello"print(type(testInt)) --> nummerprint(type(testDecimal)) --> nummerprint(type(testString)) --> stringprint(typeof(testInt)) --> nummerprint(typeof(testDecimal)) --> nummerprint(typeof(testString)) --> string
Rundungsfunktionen
Du kannst Zahlen mit math.floor() , math.ceil() oder math.modf() runden. Diese Funktionen geben ein integriertes Ergebnis zurück, wenn Luau es als ganzzahligzurückgeben kann. Wenn die Zahl zu groß ist, gibt Luau sie als Floating zurück.
- Um zu bestimmen, ob eine Zahl x ist eine ganzzahlig, verwende math.floor(x) == x.
- Um eine Zahl nach unten zu arunden, verwende math.floor() .
- Um eine Zahl aufzurunden, verwenden Sie math.ceil() .
- Um eine Zahl auf Null zu runden, verwenden Sie math.modf(). Es gibt auch die Bruchstelle des gerundeten Zahlers als zweites Ergebnis zurück.
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