번호 데이터 입력또는 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 숫자 유형은 소수 자리가 있는 실수를 참조합니다.컴퓨터 과학 약관, 그들은 단일 전체 자릿수(32비트) 부동 소수점 숫자이며, 이중 전체 자릿수 부동 소수점 숫자만큼 정확하지는 않지만 대부분의 사용 사례에 충분히 정확하고 메모리와 저장소가 적게 필요합니다.
정수 int
integer 번호 입력또는 int는 -2 31에서 2 31 - 1까지 32비트 정수를 가리킵니다.정수를 기대하는 속성과 함수는 정수가 아닌 값을 할당하거나 전달하면 자동으로 오차를 반올림하거나 발생시킬 수 있습니다. Properties and functions that expect integers may automatically round or raise errors when you assign or pass non-integers to them.
int64
int64 숫자 유형은 -2 63 에서 2 63 -1까지 서명된 64비트 정수를 가리킵니다.이 종류의 정수는 Roblox 웹사이트의 ID 번호를 사용하는 메서드에 일반적입니다.예를 들어, Player.UserId 는 int64 이고, MarketplaceService:PromptPurchase() 와 TeleportService:Teleport() 각각은 ID 인수에 대해 int64 을 기대합니다.
표기법
숫자는 가장 중요한 숫자부터 표시됩니다(큰 끝). Luau에서 숫자 리터럴을 표시하는 방법은 다음과 같습니다.
- 과학 표기법 — 소수 자릿수를 따라 e 또는 e+ 로 쓰고, 소수 자릿수를 10의 배로 올리는 정수를 작성합니다.예를 인스턴스, 12e3 는 12 × 10^3(12,000)입니다.
- 16진수(기준-16) — 숫자를 0–9 또는 A–F(대/소문자 구분 무시)로 시작하고 숫자 0–9 또는 A–F(대/소문자 구분 무시)로 끝냅니다.예를 들어, 0xF 는 15이고 0x3FC 는 1020입니다.
- 바이너리(기본-2) — 숫자를 0이나 1로 시작하고, 예를 들어 (12의 10진수 형식)에서 0이나 1을 따릅니다.
작업
논리적이고 관계적인 연산자를 사용하여 숫자를 조작하고 비교할 수 있습니다.수학 함수(예: math.sqrt() 및 math.exp() )를 라이브러리 math 및 bit32 의 비트 연산에서 사용할 수도 있습니다.
내부 유형 조사
값 x 이 숫자인지 여부를 결정하려면 type(x) 또는 typeof(x) 을 사용합니다.둘 다 number 이 숫자인 경우 문자열을 반환합니다.if 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()를 사용하십시오.
- 숫자를 0으로 반올림하려면 math.modf() 을 사용하십시오. 또한 반올림된 숫자의 소수 차이를 두 번째 결과로 반환합니다.
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