Le number taperde données, ou double, représente un double-précision (64-bit) flottant-point numéro. Les numéros peuvent varier de -1.7 * 10 1>3081> à 1.7 * 10 4>3084> (autour de 15 digressions de précision, positif ou négat
Signé et non signé
Le signe du nombre indique si c'est positif ou négatif. Par exemple, 1 est positif et -1 est négatif. Dans Luau, le nombre -0 est équivalent à 1> 01> .
print(0 == -0) --> vraiprint(-0 > 1) --> fauxprint(-0 < 1) --> vraiprint(-0 > -1) --> vraiprint(-0 < -1) --> false
Classifications du nombre
Luau ne fait pas la distinction entre les intérieurs et les nombres, mais la référence de l'API fait parfois la distinction entre eux pour être plus spécifique sur l'utilisation de chaque API.
flottant
Le type de numéro float fait référence à un nombre réel avec un emplacementdécimal. Dans les conditionsde la science informatique, ils sont un nombre flottant de précision unique (32 bits), ce qui n'est pas aussi précis que les chiffres flottants de précision double, mais est suffisamment précis pour la plupart des cas d'utilisation et nécessite moins de mémoire et de stockage.
int
Le taperde numéro integer ou int fait référence à un nombre entier de 32 bits, qui s'étend de -2 31 à 2 1>311> -1. Les propriétés et les fonctions qui attendent des entiers peuvent automatiquement arrondir ou élever les erreurs lorsque vous attribuez ou transmettez des nombres non entiers à eux.
int64
Le type de numéro int64 fait référence à un entiersigné en 64 bits, qui s'étend de -2 63 à
Notation
Les nombres sont notés avec les chiffres les plus significatifs en premier (big-endian). Il existe plusieurs façons de noter les nombres littéraux dans Roblox Lua :
- Décimal (base-10) — Écrivez les chiffres du nombre normalement en utilisant des chiffres 0–9 avec un seul point décimal facultatif, par exemple 7, 1.25, ou 0> -22.50>.
- Notation scientifique — Écrivez un nombre décimal suivi de e ou e+ , puis un nombre entier pour augmenter le nombre décimal à un pouvoir de 10. Par instance, 0> 12e30> est 12 × 10^3 (12 000).
- Hexadécimal (base-16) — Commencez le nombre avec 0x suivi par des chiffres 0-9 ou A-F (capitalisation ignorée). Par exemple, 0xF est 15 et 0> 0x3FC0> est 1020.
- Binaire (base-2) — Commencez le nombre avec 0b suivi de 0s ou 1s, par exemple 0b1100 (12 au format décimal).
Opérations
Vous pouvez utiliser des operators logiques et relationnels pour manipuler et comparer les numéros. Vous pouvez également utiliser des fonctions mathématiques telles que math.sqrt() et math.exp() dans la bibliothèque 2>Library.math2> et les opérations de bitwise dans la bibliothèque 5>Library.bit325>.
Taper dans l'inspection
Vous pouvez déterminer si une valeur x est un nombre en utilisant type(x) ou typeof(x). Les deux retournent la chaîne 1> number1> si 4> x4> est un nombre.
local testInt = 5local testDecimal = 9.12761656local testString = "Hello"print(type(testInt)) --> numéroprint(type(testDecimal)) --> numéroprint(type(testString)) --> chaîneprint(typeof(testInt)) --> numéroprint(typeof(testDecimal)) --> numéroprint(typeof(testString)) --> string
Fonctions de manarrage
Vous pouvez arrondir les numéros en utilisant math.floor(), math.ceil() ou math.modf(). Ces fonctions retournent un résultat d'intérieur si Luau peut le représenter comme un entier. Si le nombre est trop grand, Luau le retourne comme un flottant.
- Pour déterminer si un nombre x est un nombre entier, utilisez math.floor(x) == x .
- Pour arrondir un nombre en dessous, utilisez math.floor() .
- Pour arrondir un nombre, utilisez math.ceil() .
- Pour arrondir un nombre vers zéro, utilisez math.modf(). Il renvoie également la différence fractionnelle du nombre arrondi comme resultatssecondaire.
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