數量

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

數據類輸入,或double,代表一個浮動點。數據可以從-1.7*101>3081>到1.7*104>3084> (約15個精度, 正或負)。

已簽名和未簽名

數字的標誌表示它是正數還是負數。例如,1是正數,-1是負數。在Luau中,-0與1>11>的大小相當。


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

數量類別

Luau 不會區分整數和數字,但 API 參考會時常區分它們,以更具體地說明如何使用每個 API。

浮點數

float 數字類型指的是具有十六位碼空間的實數。在電腦科學用語條款,它們是 單一精度 (32 位) 漂浮點數,這與雙倍精度漂浮點數不太精確,但足以精準到大多數使用案例,並且需要較小的存儲和記憶體。

int

number1 、intnumber3 、1>number41> 、4>number54> 、7>number27> 、0>number30> 、3>number43> 、6>number56> 、integer9> 、integer2> 、5>number

int64

int64 數字類型指的是已簽名的 64 位整數,其範圍是 -2 63

語法

數量會以最有意義的數字(大小)表示。 有多種方法可以在 Roblox Lua 中表示數量的字符串:

  • 十六進制 (base-10) — 使用單個可選的十六進制點,例如 71.25 或 0> -22.50> 來寫寫數字。
  • 科學記號 — 寫一個十六進制數字,然後加上 ee+ ,然後是整數來提升十六進制數字的十分數。例個體、實例、 0> 12e30> 是 12 × 10^3 (12,000)。
  • 十六進制 (base-16) — 開始數字以 0x 與數字 0–9 或 A–F (遵循大小寫) 後的數字。 例如, 0xF 是 15 和 0> 0x3FC0> 是 1020。
  • 二進制 (base-2) — 開始數字以 0b 跟前 0 秒或 1 秒,例如 0b1100 (十六進制格式)。

運作

您可以使用論理和關係 操作器 來操作和比較數量。您也可以使用數學函數,例如 math.sqrt()math.exp() 在 1> Library.bit321> 圖書館中和位元操作在 4> Library.bit324> 圖書館中。

類型介紹

您可以使用 xtype(x) 來確定值 typeof(x) 是否是數字。 兩者都會返回字串 2>number2> 如果 5>x5> 是數字。


local testInt = 5
local testDecimal = 9.12761656
local 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() 。它還會作為第二個結果返回圓數的剩餘差。

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