Zahlen

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Der Zahl Datentyp, oder double, stellt eine Gleitkommazahl mit doppelter Präzision (64-Bit) dar. Zahlen können von -1,7 * 10308 bis 1,7 * 10308 reichen (etwa 15 Ziffern Genauigkeit, positiv oder negativ).

Vorzeichen und nicht vorzeichen

Das Vorzeichen der Zahl zeigt an, ob sie positiv oder negativ ist. Zum Beispiel ist 1 positiv und -1 negativ. In Luau ist die Zahl -0 gleichbedeutend mit 0.


print(0 == -0) --> true
print(-0 > 1) --> false
print(-0 < 1) --> true
print(-0 > -1) --> true
print(-0 < -1) --> false

Zahlklassifizierungen

Luau unterscheidet nicht zwischen Ganzzahlen und Zahlen, aber die API-Referenz unterscheidet manchmal zwischen ihnen, um spezifischer zu sein, wie man jede API verwendet.

float

Der float Zahltyp bezieht sich auf eine reale Zahl mit einer Dezimalstelle. In den Begriffen der Computerwissenschaften sind sie Gleitkommazahlen mit einfacher Präzision (32-Bit), die nicht so präzise sind wie Gleitkommazahlen mit doppelter Präzision, aber für die meisten Anwendungsfälle ausreichend genau sind und weniger Speicher und Speicherplatz benötigt.

int

Der integer Zahltyp, oder int, bezieht sich auf eine 32-Bit ganze Zahl, die von -231 bis 231 - 1 reicht. Eigenschaften und Funktionen, die Ganzzahlen erwarten, können automatisch runden oder Fehler auslösen, wenn man ihnen Nicht-Ganzzahlen zuweist oder übergibt.

int64

Der int64 Zahltyp bezieht sich auf eine signierte 64-Bit-Ganzzahl, die von -263 bis 263 - 1 reicht. Diese Art von Ganzzahl ist üblich für Methoden, die ID-Nummern von der Roblox-Website verwenden. Zum Beispiel ist Player.UserId ein int64, und MarketplaceService:PromptPurchase() und TeleportService:Teleport() erwarten jeweils int64 für die ID-Argumente.

Notation

Zahlen werden mit den bedeutendsten Ziffern zuerst (big-endian) notiert. Es gibt mehrere Möglichkeiten, Zahl Literale in Luau zu notieren:

  • Dezimal (Basis-10) — Schreiben Sie die Ziffern der Zahl normal mit den Ziffern 0–9 mit einem einzelnen optionalen Dezimalkomma, zum Beispiel 7, 1.25 oder -22.5.
  • Wissenschaftliche Notation — Schreiben Sie eine Dezimalzahl gefolgt von e oder e+, dann eine ganze Zahl, um die Dezimalzahl zu einer Potenz von 10 zu erhöhen. Zum Beispiel ist 12e3 12 × 10^3 (12.000).
  • Hexadezimal (Basis-16) — Beginnen Sie die Zahl mit 0x, gefolgt von Ziffern 0–9 oder A–F (Großbuchstaben ignoriert). Zum Beispiel ist 0xF 15 und 0x3FC ist 1020.
  • Binär (Basis-2) — Beginnen Sie die Zahl mit 0b, gefolgt von 0- oder 1-Bits, zum Beispiel 0b1100 (12 im Dezimalformat).

Operationen

Sie können logische und relationale Operatoren verwenden, um Zahlen zu manipulieren und zu vergleichen. Sie können auch mathematische Funktionen wie math.sqrt() und math.exp() in der math-Bibliothek und bitweise Operationen in der bit32-Bibliothek verwenden.

Typ-Introspektion

Sie können ermitteln, ob ein Wert x eine Zahl ist, indem Sie type(x) oder typeof(x) verwenden. Beide geben den String number zurück, wenn x eine Zahl ist.


local testInt = 5
local testDecimal = 9.12761656
local testString = "Hallo"
print(type(testInt)) --> number
print(type(testDecimal)) --> number
print(type(testString)) --> string
print(typeof(testInt)) --> number
print(typeof(testDecimal)) --> number
print(typeof(testString)) --> string

Rundungsfunktionen

Sie können Zahlen mit math.floor(), math.ceil() oder math.modf() runden. Diese Funktionen geben ein ganzzahliges Ergebnis zurück, wenn Luau es als Ganzzahl darstellen kann. Wenn die Zahl zu groß ist, gibt Luau sie als float zurück.

  • Um festzustellen, ob eine Zahl x eine ganze Zahl ist, verwenden Sie math.floor(x) == x.
  • Um eine Zahl abzurunden, verwenden Sie math.floor().
  • Um eine Zahl aufzurunden, verwenden Sie math.ceil().
  • Um eine Zahl auf null zu runden, verwenden Sie math.modf(). Es gibt auch den fractional difference der gerundeten Zahl als zweites Ergebnis zurück.

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
©2026 Roblox Corporation. Roblox, das Roblox-Logo und "Powering Imagination" gehören zu unseren eingetragenen und nicht eingetragenen Markenzeichen in den USA und anderen Ländern.