数字

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

number データ型、または double は、倍精度 (64ビット) 浮動小数点 数を表します。数値は -1.7 * 10308 から 1.7 * 10308 (おおよそ 15 桁の精度、正または負) の範囲です。

符号付きと符号なし

数の符号は、それが正か負かを示します。たとえば、1 は正で、-1 は負です。Luau では、数 -00 と等価です。


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

数の分類

Luau は整数と数を区別しませんが、API リファレンスでは、各 API の使用方法をより具体的にするためにそれらを区別することがあります。

float

float 数型は、小数点を持つ実数を指します。コンピュータサイエンスの用語で言えば、これは 単精度 (32ビット) 浮動小数点数 であり、倍精度浮動小数点数ほどの精度はありませんが、ほとんどの用途にとっては十分な精度を持ち、より少ないメモリとストレージを必要とします。

int

integer 数型、または int は、-231 から 231 - 1 の範囲を持つ 32 ビットの整数を指します。整数を期待する構文や関数に非整数を割り当てたり渡したりすると、自動的に丸められたりエラーが発生したりすることがあります。

int64

int64 数型は、-263 から 263 - 1 の範囲を持つ符号付き 64 ビット整数を指します。このタイプの整数は、Roblox サイトからの ID 番号を使用するメソッドに一般的です。たとえば、Player.UserIdint64 であり、MarketplaceService:PromptPurchase()TeleportService:Teleport() はそれぞれ ID 引数として int64 を期待します。

表記法

数は、最も重要な桁から最初に表記されます (ビッグエンディアン)。Luau で数リテラルを表記する方法はいくつかあります:

  • 十進数 (10進数) — 数字 0-9 を使用して通常通りに数字を記述し、単一のオプションの小数点を付けます。たとえば 71.25、または -22.5 です。
  • 科学的表記法 — 小数点数の後に e または e+ を付け、その後に整数を記述し、小数点数を 10 の累乗にします。たとえば、12e3 は 12 × 10^3 (12,000) です。
  • 16進数 (16進) — 数字の前に 0x を付け、0-9 または A-F のいずれかを続けます (大文字は無視されます)。たとえば、0xF は 15 で、0x3FC は 1020 です。
  • 2進数 (2進) — 数字の前に 0b を付け、その後に 0 または 1 を続けます。たとえば、0b1100 (小数表記で 12) です。

演算

論理および関係 演算子 を使用して数を操作し、比較できます。また、math.sqrt()math.exp() などの数学関数を math ライブラリで、および bit32 ライブラリでビット演算を使用することもできます。

型の直観

x が数であるかどうかを調べるには、type(x) または typeof(x) を使用します。どちらも x が数である場合、文字列 number を返します。


local testInt = 5
local testDecimal = 9.12761656
local testString = "Hello"
print(type(testInt)) --> number
print(type(testDecimal)) --> number
print(type(testString)) --> string
print(typeof(testInt)) --> number
print(typeof(testDecimal)) --> number
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)) --> 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(ロブロックス)、RobloxロゴおよびPowering Imaginationは、米国並びにその他の国における登録商標および非登録商標です。