番号 データタイプ、または double は、浮動小数 (64 ビット) 番入力を表示します。数値は -1.7 * 10 308 から 1.7 * 10 308 (約 15 桁の精度、正または負)に達することができます。
署名と未署名
数字の符号は、ポジティブかネガティブかを示します。たとえば、 1 は正で、 -1 は負です。Luau では、番号 -0 は 0 と同等です。
print(0 == -0) --> 真print(-0 > 1) --> 偽print(-0 < 1) --> 真print(-0 > -1) --> 真print(-0 < -1) --> false
数の分類
Luau は整数と数字を区別しませんが、API の参照は時々それらの間を区別して、それぞれの API の使用方法についてより詳細になります。
浮動
float 数値タイプは、10進位の場プレースを持つ実数を参照します。コンピュータ科学用規約では、彼らは 単精度 (32ビット) 浮動小数点数 であり、2倍精度の浮動小数点数ほど精密ではありませんが、ほとんどの使用ケースに十分精密であり、メモリとストレージが少なくなる必要があります。
整数
integer 番入力タイプ、または int は、-2 31 から 2 31 - 1 の 32ビットの全数値を指します。整数を期待するプロパティと機能は、非整数を割り当てたり、パスしたりすると自動的にラウンドされたり、エラーが発生したりする可能性があります。
int64
int64 数値タイプは、-2 63 から 2 63 - 1 のサイン付き 64 ビット整数を参照します。この整数の種類は、Roblox ウェブサイトの識別番号を使用するメソッドに共通です。たとえば、Player.UserId は int64 であり、MarketplaceService:PromptPurchase() と TeleportService:Teleport() はそれぞれ ID 引数に対して int64 を期待します。
記号
数字は最も重要な桁順で表示されます (ビッグエンディアン)。Luau で数字のリテラルを表示する方法は複数あります:
- 科学記号 — 10進位の数字を続けて e または e+ 、そして 10進位の数字を 10 乗にする整数を書き込んで、科学記号を 10 に上げます。たとえば、12e3 は 12 × 10^3 (12,000) です。
- 十六進コード (ベース-16) — 数字 0–9 または A–F (大文字を無視) に続いて 0x を付けて、数字を 0–9 または A–F (大文字を無視) で始めるたとえば、 0xF は 15 で、 0x3FC は 1020 です。
操作
論理的および関係的な 演算子 を使用して、数を操作し比較できます。また、math.sqrt() や math.exp() などの数学関数を math ライブラリや bit32 ライブラリのビット操作で使用できます。
イントロスペクションをタイプ
値 x が数字かどうかを判断するには、type(x) または typeof(x) を使用します。両方とも、number が数字である場合、x に返す文字列です。
local testInt = 5local testDecimal = 9.12761656local testString = "Hello"print(type(testInt)) --> 番号print(type(testDecimal)) --> 番号print(type(testString)) --> 文字列print(typeof(testInt)) --> 番号print(typeof(testDecimal)) --> 番号print(typeof(testString)) --> string
ラウンド関数
math.floor() 、math.ceil() 、または math.modf() を使用して、数字を丸めることができます。これらの関数は、Luau が整数として表現できる場合、整数の結果を返します。数字が大きすぎる場合、Luau はそれを浮動値として返します。
- 数字 x が整数かどうかを判断するには、math.floor(x) == x を使用します。
- 数字を丸めるには、math.floor() を使用します。
- 数字を丸めるには、math.ceil() を使用します。
- 数字をゼロに丸めるには、math.modf() を使用します。また、丸められた数字の小数差を 2番目の結果として返します。
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