Typumwandlung

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

Wenn Luau versucht, einen Wert oder eine Variable in einer Operation wie Arithmetik, Verkettung oder Zuweisung zu verwenden, aber der Wert nicht den erwarteten Typ hat, dann wandelt Luau den Wert um (coerces) und ändert seinen Datentyp. Die Umwandlung erfolgt zur Laufzeit für diese Operation und ändert nicht den Wert einer Variablen.

Arithmetik

Luau wandelt Strings in arithmetischen Operationen in Zahlen um. Dieses Verhalten ist in Luau eingebaut. Wenn die Typen für arithmetische Operationen nicht kompatibel sind, wirft Luau einen Fehler und führt den Rest des Scripts nicht aus. Zum Beispiel können Sie einen String nicht zu einer Zahl addieren, wenn der String keine Zahl repräsentiert.


print(100 + "7") -- 107
print(100 - "7") -- 93
print("1000" + 234) -- 1234
print("1000" - 234) -- 766
print("hello" + 234) -- Fehler: Versuch, arithmetische Operation (Addieren) mit String und Zahl durchzuführen

Verkettung

Bei der Verkettung wandelt Luau Zahlen in Strings um. Um eine Zahl in einen String umzuwandeln, ohne Umwandlung zu verwenden, verwenden Sie die Funktion string.format().


print("Pi ist " .. math.pi) --> Pi ist 3.1415926535898
print("Pi ist " .. 3.1415927) --> Pi ist 3.1415927
-- Rundet auf drei Dezimalstellen
print("Pi ist " .. string.format("%.3f", 3.1415927)) -- Pi ist 3.142

Zuweisung

Einige Eigenschaften erwarten bestimmte Datentypen, wie z. B. ein Enum oder einen String, aber Sie können einen Wert eines anderen Typs zuweisen, und Luau wandelt den Wert in den Typ um, den die Eigenschaft erwartet.

Enums

Luau wandelt Zahlen und Strings von Enum-Werten in den vollständigen Enum-Namen um. Zum Beispiel können Sie den Wert der Eigenschaft Part.Material mit einer Zahl, einem String oder dem vollständigen Enum-Namen benennen, und die Funktion print() gibt immer den vollständigen Enum-Namen aus. Es ist eine bewährte Methode, explizit zu sein und den vollständigen Enum-Namen zu verwenden. Für weitere Informationen zu Enums siehe Enums.


local Workspace = game:GetService("Workspace")
local part1 = Instance.new("Part")
part1.Material = 816
part1.Parent = Workspace
print(part1.Material) -- Enum.Material.Concrete
local part2 = Instance.new("Part")
part2.Material = "Concrete"
part2.Parent = Workspace
print(part2.Material) -- Enum.Material.Concrete
-- Das ist eine bewährte Methode, da es am explizitesten ist
local part3 = Instance.new("Part")
part3.Material = Enum.Material.Concrete
part3.Parent = Workspace
print(part3.Material) -- Enum.Material.Concrete

Tageszeit

Die Eigenschaft Lighting.TimeOfDay, die definiert, ob es Nacht, Tag oder eine andere Zeit ist, ist eine String-Darstellung des Datentyps DateTime. Wenn Sie eine Zahl an Lighting.TimeOfDay zuweisen, wandelt Luau sie in die String-Darstellung von DateTime um.


local Lighting = game:GetService("Lighting")
Lighting.TimeOfDay = "05:00:00"
print(Lighting.TimeOfDay) -- 05:00:00
Lighting.TimeOfDay = 5
print(Lighting.TimeOfDay) -- 05:00:00
©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.