Der eingeben, oder double, repräsentiert eine Doppelpräzisionszahl (64-Bit) schwebende Zahl.Zahlen können von -1.7 * 10 308 bis 1.7 * 10 308 (rund 15 Ziffern der Präzision, positiv oder negativ) reichen.
Unterschrieben und unsigniert
Das Zeichen der Zahl zeigt an, ob sie positiv oder negativ ist.Zum Beispiel ist 1 positiv und -1 negativ.In Luau ist die Zahl -0 gleich 0 .
print(0 == -0) --> wahrprint(-0 > 1) --> falschprint(-0 < 1) --> wahrprint(-0 > -1) --> wahrprint(-0 < -1) --> false
Zahlungsklassifikationen
Luau unterscheidet nicht zwischen Zahlen und Zahlen, aber die API-Referenz unterscheidet manchmal zwischen ihnen, um genauer zu sein, wie jede API verwendet wird.
gleitkomma
Der Zahlentyp float bezieht sich auf eine reale Zahl mit einem Ort.In Bedingungender Informatik sind sie eine einzelne Präzision (32-Bit) schwebende Zahl, die nicht so genau ist wie doppelpräzise schwebende Zahlen, aber für die meisten Anwendungsfälle ausreichend genau ist und weniger Speicher und Lager erfordert.
zahl int
Der eingebeninteger oder int bezieht sich auf eine 32-Bit-Ganzzahl, die von -2 31 bis 2 31 -1 reicht.Eigenschaften und Funktionen, die Zahlen erwarten, können automatisch Fehler runden oder erhöhen, wenn du ihnen Nicht-Zahlen zuweist oder sie weitergibst.
zahl64
Der Zahlentyp int64 bezieht sich auf einen unterzeichneten ganzzahlig, der von -2 63 bis 2 63 -1 reicht.Diese Art von Ganzzahl ist für Methoden üblich, die ID-Nummern von der Roblox-Website verwenden.Zum Beispiel ist Player.UserId ein int64 und MarketplaceService:PromptPurchase() und TeleportService:Teleport() erwarten jedes für die ID-Argumente int64.
Zeichnung
Zahlen werden mit den bedeutendsten Ziffern zuerst notiert (big-endian): Es gibt mehrere Möglichkeiten, Zahl-Literalen in Luau anzugeben:
- Dezimal (Basis-10) — Schreiben Sie die Zahlen der Nummer normalerweise mit Ziffern 0–9 mit einem einzigen optionalen Dezimalpunkt, zum Beispiel 7 , 1.25 oder -22.5.
- Wissenschaftliche Notation — Schreiben Sie eine Dezimalzahl, gefolgt von e oder e+, dann einen Ganzzahl, um die Dezimalzahl zu einer Macht von 10 zu erhöhen.Zum Instanzist 12e3 12 × 10^3 (12.000).
- Hexadezimal (Basis-16) — Beginne die Zahl mit 0x und folgenden Zahlen 0–9 oder A–F (Großbuchstaben werden ignoriert).Zum Beispiel ist 0xF 15 und 0x3FC 1020.
- Binär (Basis-2) — Beginne die Zahl mit 0b gefolgt von 0s oder 1s, zum Beispiel 0b1100 (12 im Dezimalformat).
Operationen
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 math Bibliothek und bitweise Operationen in der bit32 Bibliothek verwenden.
Typische Introspektion
Du kannst bestimmen, ob ein Wert x eine Zahl ist, indem du type(x) oder typeof(x) verwendest.Beide geben die Zeichenfolge number zurück, wenn x eine Zahl ist.
local testInt = 5local testDecimal = 9.12761656local testString = "Hello"print(type(testInt)) --> zahlprint(type(testDecimal)) --> zahlprint(type(testString)) --> stringprint(typeof(testInt)) --> zahlprint(typeof(testDecimal)) --> zahlprint(typeof(testString)) --> string
Runde Funktionen
Du kannst Zahlen mit math.floor(), math.ceil() oder math.modf() runden.Diese Funktionen geben ein Ganzzahlergebnis zurück, wenn Luau es als ganzzahligdarstellen kann.Wenn die Zahl zu groß ist, gibt Luau sie als Gleitkommazurück.
- Um zu bestimmen, ob eine Zahl x ein ganzzahligist, verwende math.floor(x) == x.
- Um eine Zahl abzurunden, verwende math.floor().
- Um eine Zahl aufzurunden, verwende math.ceil().
- Um eine Zahl auf Null zu runden, verwende math.modf(). Es gibt auch den Bruchteil der gerundeten Zahl 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