Number 객체 생성 구문:
MAX_VALUE
MAX_VALUE 속성은 JavaScript에서 표현할 수 있는 가장 큰 숫자입니다. 대략적인 값은 1.7976931348623157 x 10308입니다. 가장 큰 음수는 -MAX_VALUE입니다.
MAX_VALUE보다 큰 숫자는 무한대입니다. MAX_VALUE는 정적 속성이므로 호출 메서드는 Number.MAX_VALUE여야 합니다.
MIN_VALUE
MIN_VALUE 속성은 JavaScript에서 표현할 수 있는 가장 작은 숫자입니다(0에 가까우나 음수는 아님). 대략적인 값은 5 x 10-324입니다.
MIN_VALUE보다 작은 모든 숫자는 0으로 변환됩니다.
MIN_VALUE는 정적 속성이므로 호출 메서드는 Number.MIN_VALUE여야 합니다.
NaN
NaN 속성은 숫자가 아닌 값을 나타내는 특수 값입니다. 이 속성은 값이 숫자가 아님을 나타내는 데 사용됩니다. 숫자 개체를 이 값으로 설정하여 숫자 값이 아님을 나타낼 수 있습니다.
isNaN() 전역 함수를 사용하여 값이 NaN 값인지 확인할 수 있습니다.
Number.NaN은 특정 산술 연산(예: 음수의 제곱근 찾기)의 결과가 숫자가 아님을 나타내는 특수 값입니다. 지정된 문자열을 구문 분석할 수 없을 때 메서드parInt() 및parseFloat()는 이 값을 반환합니다. 일반적으로 유효한 숫자를 반환하는 일부 함수의 경우 이 메서드를 사용하고 Number.NaN을 사용하여 오류 조건을 나타낼 수도 있습니다.
JavaScript는 Number.NaN을 NaN으로 출력합니다. NaN은 자신을 포함한 다른 숫자와 비교할 때 항상 동일하지 않습니다. 따라서 값이 숫자인지 테스트하기 위해 Number.NaN과 비교할 수는 없으며 비교를 위해 isNaN()만 호출할 수 있습니다.
참고: 전역 변수 NaN은 Number.NaN과 동일하며 구성 및 수정이 불가능한 속성입니다.
NEGATIVE_INFINITY
NEGATIVE_INFINITY 속성은 -Number.MAX_VALUE보다 작은 값을 나타냅니다. 이 값은 음의 무한대를 나타냅니다.
JavaScript는 NEGATIVE_INFINITY를 표시할 때 -Infinity를 사용합니다. 이 값의 산술 동작은 무한대와 매우 유사합니다. 예를 들어, 무한대로 곱한 숫자는 여전히 무한대가 되고, 무한대로 나눈 숫자는 0이 됩니다.
-무한대는 Number.NEGATIVE_INFINITY와 같습니다.
POSITIVE_INFINITY
POSITIVE_INFINITY 속성은 Number.MAX_VALUE보다 큰 값을 나타냅니다. 이 값은 양의 무한대를 나타냅니다.
JavaScript는 POSITIVE_INFINITY를 표시할 때 Infinity를 사용합니다. 이 값의 산술 동작은 무한대와 매우 유사합니다. 예를 들어, 무한대로 곱한 숫자는 여전히 무한대가 되고, 무한대로 나눈 숫자는 0이 됩니다.
무한대는 Number.POSITIVE_INFINITY와 같습니다.
isFinite() 메서드는 매개변수가 유한수인지 여부를 확인할 수 있습니다.
console.log(isFinite(x)) //false
console.log(isFinite(y)); //false
console.log(isFinite(z)); //false
console.log(isFinite(a)); //false
console.log(isFinite(b)); //참
toString()
toString() 메서드는 Number 객체를 문자열로 변환하고 결과를 반환합니다.
NumberObject.toString(기수)
매개변수 radix는 선택사항입니다. 숫자가 표현되는 기수를 지정하며 2에서 36 사이의 정수로 만듭니다. 이 매개변수를 생략하면 10진수가 사용됩니다. 오해를 방지하기 위해 이 매개변수를 항상 휴대하는 것이 좋습니다. 예를 들어 radix가 2인 경우 NumberObject는 이진값을 나타내는 문자열로 변환됩니다.
이 메소드를 호출하는 객체가 숫자가 아닌 경우 TypeError 예외가 발생합니다.
console.log(a.toString()) //100
console.log(a.toString(10)); //100
console.log(a.toString(2)); //1100100
console.log(a.toString(8)); //144
console.log(a.toString(16)); //64
toLocaleString()
toLocaleString() 메서드는 Number 객체를 로컬 형식 문자열로 변환할 수 있습니다.
숫자의 문자열 표현, 구현이 결정되고 현지 사양에 따라 형식이 지정되며 소수 또는 천 단위 구분 기호에 사용되는 구두점에 영향을 줄 수 있습니다.
이 메소드를 호출하는 객체가 숫자가 아닌 경우 TypeError 예외가 발생합니다.
console.log(a.toLocaleString()) //123,456
console.log(a.toLocaleString("zh-Hans-CN-u-nu-hanidec"))); //하나, 둘, 셋, 넷, 다섯, 여섯
자세한 매개변수는 MDN
을 참조하세요.toFixed()
toFixed() 메소드는 숫자를 지정된 소수점 이하 자릿수로 반올림합니다.
NumberObject.toFixed(num)
매개변수 num이 필요합니다. 0에서 20 사이의 값인 소수 자릿수를 지정합니다. 일부 구현에서는 더 넓은 범위의 값을 지원할 수 있습니다. 이 매개변수를 생략하면 대신 0이 사용됩니다.
지수 계산을 사용하지 않고 소수점 이하 고정 숫자를 갖는 NumberObject의 문자열 표현을 반환합니다. 필요한 경우 숫자는 반올림되고 지정된 길이에 도달하도록 0으로 채워집니다. num이 le 21보다 큰 경우 이 메서드는 단순히 NumberObject.toString()을 호출하여 지수 표기법으로 문자열을 반환합니다.
num이 너무 작거나 너무 크면 RangeError가 발생합니다. 0에서 20 사이의 값은 이 예외를 발생시키지 않습니다. 일부 구현에서는 더 크거나 더 작은 범위의 값을 지원합니다. 이 메서드를 호출하는 개체가 숫자가 아닌 경우 TypeError 예외가 발생합니다.
console.log(n.toFixed()); //12346
console.log(n.toFixed(2)); //12345.68
console.log(n.toFixed(6)); //12345.678900
console.log((1.23e 20).toFixed(2)); //123000000000000000000.00
console.log((1.23e-10).toFixed(2)); //0.00
참고: 부동 소수점 숫자 처리로 인해 toFixed() 메서드에 의해 표시되는 결과는 소위 "반올림" 또는 "6에서 5를 두 배로 반올림"하는 것이 아니라 반올림, 6 및 5의 성능입니다. 다섯. 매우 혼란스럽습니다.
toFixed()의 기본 동작을 대체하려면 자신만의 메서드를 작성하는 것이 좋습니다. SO에 대한 토론:
을 참조하세요.console.log(( 0.035 ).toFixed( 2 )) //0.04
console.log(( 0.045 ).toFixed( 2 )); //0.05
toExponential()
toExponential() 메서드는 객체의 값을 지수 표기법으로 변환할 수 있습니다.
NumberObject.toExponential(num)
매개변수 num은 선택사항입니다. 0에서 20 사이의 값인 지수 표기법으로 소수 자릿수를 지정합니다. 일부 구현에서는 더 넓은 범위의 값을 지원할 수 있습니다. 이 인수를 생략하면 가능한 한 많은 숫자가 사용됩니다.
지수 표기법을 사용하여 NumberObject의 문자열 표현을 반환합니다. 즉, 소수점 앞에는 한 자리가 있고 소수점 뒤에는 num 자리가 있습니다. 숫자의 소수 부분은 반올림되고 필요한 경우 0으로 채워져 지정된 길이에 도달합니다.
num이 너무 작거나 너무 크면 RangeError가 발생합니다. 0에서 20 사이의 값은 이 예외를 발생시키지 않습니다. 일부 구현에서는 더 크거나 더 작은 범위의 값을 지원합니다. 이 메서드를 호출하는 개체가 숫자가 아닌 경우 TypeError 예외가 발생합니다.
console.log(num.toExponential()) //1.00001234e 4
console.log(num.toExponential(2)); //1.00e 4
console.log(num.toExponential(10)); //1.0000123400e 4
toPrecision()
toPrecision() 메서드는 숫자 값을 십진수 형태의 문자열로 형식화합니다.
NumberObject.toPrecision(num)
매개변수 num은 선택사항입니다. 숫자의 정밀도를 제어하는 데 사용됩니다. 이 매개변수는 1에서 21 사이의 값입니다. 이 매개변수를 생략하면 숫자를 10진수 값으로 변환하는 대신 toString() 메서드가 호출됩니다.
console.log(num.toPrecision()) //10000.1234
console.log(num.toPrecision(2)); //1.0e 4
console.log(num.toPrecision(10)); //10000.12340