loading

자바스크립트(javascript) - number 타입(유형), 개념잡기

 

Number 타입에 대해 알아보자 (1) ~ (5) 까지 첫 번째 부터 보는 것을 권장한다.

 

아래 제목을 클릭하면 해당페이지 링크로 이동합니다

순번 링크페이지
1 JS - Number 타입에 대해 알아보자 - (1)
2 JS - Number 타입에 대해 알아보자 - (2)
3 JS - Number 타입에 대해 알아보자 - (3)
4 JS - Number 타입에 대해 알아보자 - (4)
5 JS - Number 타입에 대해 알아보자 - (5)

 

▶ 유효 자릿수를 지정

var A_1 = 524.123456;

console.log(A_1.toPrecision()) // "524.123456"
console.log(A_1.toPrecision(1)) // "5e+2"
console.log(A_1.toPrecision(2)) // "5.2e+2"
console.log(A_1.toPrecision(3)) // "524"
console.log(A_1.toPrecision(4)) // "524.1"
console.log(A_1.toPrecision(5)) // "524.12"



var B_1 = 0.0000567;

console.log(B_1.toPrecision()) // "0.0000567"
console.log(B_1.toPrecision(1)) // "0.00006"
console.log(B_1.toPrecision(2)) // "0.000057"
console.log(B_1.toPrecision(3)) // "0.0000567"
console.log(B_1.toPrecision(4)) // "0.00005670"
console.log(B_1.toPrecision(5)) // "0.000056700"

 

Number 객체의 내장된 메서드인 toPrecision()을 사용하면 유효 자릿수를 지정할 수 있다.

유효 자릿수를 지정한다? 이 말은 무엇을 의미하는 걸까? 확인해보자.

 

우선 첫번째 변수 A_1을 보자.

유효한 숫자 즉, 524.12345 의 숫자 중 첫 번째 100의 자리 숫자 5부터 유효하다.

 

반대로 두번 째 변수 B_1을 보자.

유요한 숫자 즉, 0.0000567의 숫자 중 소수점 0.00005의 5부터가 유효하다.

 

이 처럼 toPrecision(몇 번째 유효 자리수) 메서드는 숫자 중 유효한 숫자의 자릿수를 지정할 수가 있다.

이 메서드는 0부터자리수가 없다. 

 

즉,  toPrecision(0) 이렇게 하면 오류 난다.

그리고 이 메서드는 숫자를 반올림을 하기 때문에 혼동하지 말자!

 

 

첫 번째 변수 A_1

A_1.toPrecision()

있는 숫자 그대로 포함이다. console.log 출력하면 있는 그대로 숫자가 출력된다.

 

A_1.toPrecision(1)

첫 번째 유효 자리 숫자부터 지정하여 표현된다. 

이 A_1 변수는 첫 번째의 자리 숫자가 현재 5 이므로, 나머지는 지수로 표현이 된다.

그렇기 때문에 지수로 표현된 stirng 문자열 "5e+2" 이렇게 표현이 된다.

참고로 지수 표현을 설명하자면 1000이라는 숫자가 있다고 가정하면 이걸 지수 표현한다면 

1000이라는 숫자는 10의 3승(10x10x10) 이니깐 1e+3 이렇게 표현을 한다.

만약 5000이라는 숫자를 지수로 표현한다면? 5e+3이다.

 

A_1.toPrecision(2)

두 번째 유효 자리 숫자부터 지정하여 표현된다.

이 A_1 변수는 두 번째의 자리 숫자가 현재 2 이므로, 나머지는 지수로 표현이 된다.

그렇기 때문에 지수로 표현된 string 문자열 "5.2e+2" 이렇게 표현이 된다.

 

A_1.toPrecision(3)

세 번째 유효 자리 숫자부터 지정하여 표현된다. 

이 A_1 변수는 세 번째의 자리 숫자가 현재 4 이므로, 3번째 자리 번째까지 유효하게 표현이 되므로

지수 표현이 아닌 524 숫자가 그대로 string문자열 "524" 이렇게 표현이 된다.

 

A_1.toPrecision(4)

네 번째 유효 자리 숫자부터 지정하여 표현된다.

이 A_1 변수는 네 번째의 자리 숫자가 현재 소수점 1 이므로 4번째 자리 번째까지

유효하게 표현이 되므로 524.1 숫자가 그대로 string 문자열 "524.1" 이렇게 표현이 된다.

 

A_1.toPrecision(5)

다섯 번째 유효 자리 숫자부터 지정하여 표현된다.

이 A_1 변수는 다섯 번째의 자리 숫자가 현재 소수점 2 이므로 5번째 자리 번째까지

유효하게 표현이 되므로 524.12 숫자가 그대로 string 문자열 "524.12" 이렇게 표현이 된다.

 

 

두 번째 변수 B_1

 

B_1.toPrecision() 

있는 숫자 그대로 포함이다. console.log 출력하면 있는 그대로 숫자가 출력된다.

 

B_1.toPrecision(1)

첫 번째 유효 자리 숫자부터 지정하여 표현된다.

이 변수에서의 유효 숫자는 0.00005부터인 5자리까지 유효 숫자이다.

그래서 string 문자열 "0.00006" 이렇게 표현이 된다.

그런데 어랏? 왜 0.0005 가 아닌 0.0006으로 출력이 되는 거지?라고 생각을 한다면

toPrecision() 메서드는 반올림을 하기 때문이다.

만약 B_1 변수의 숫자가 var B_1 = 0.0000527;이라면 문자열 "0.00005" 이렇게 표현이 되었을 것이다.

 

B_1.toPrecision(2)

두 번째 유효 자리 숫자부터 지정하여 표현된다. 이 변수에서의 유효 숫자는 0.000056의 5자리부터 유효 숫자이다. 그래서 string 문자열 "0.000057" 이렇게 표현이 된다. 당연 반올림이 되어서 표현되었다.

 

B_1.toPrecision(3)

세 번째 유효 자리 숫자부터 지정하여 표현된다.

이 변수에서의 유효 숫자는 0.0000567의 5자리부터 유효 숫자이다.

그래서 string 문자열 "0.0000567" 있는 그대로 표현이 된다.

 

B_1.toPrecision(4)

네 번째 유효 자리 숫자부터 지정하여 표현된다.

이 변수에서의 유효 숫자는 0.0000567 의 5자리부터 유효숫자인데 네번째 자리가 없는,

현재 넘어선 숫자를 표현돼야 하는데 없으므로 0이 추가가 되어

string 문자열 "0.00005670" 이렇게 표현이 된다.

 

B_1.toPrecision(5)

다섯 번째 유효 자리 숫자부터 지정하여 표현된다.

이 변수에서의 유효 숫자는 0.0000567의 5자리부터 유효숫자인데 다섯 번째 자리가 없는,

현재 넘어선 숫자를 표현돼야 하는데 없으므로 0이 또 추가가 되어

string 문자열 "0.000056700" 이렇게 표현이 된다.

 

 

 

반응형

 

 

 

▶ 지수 & 진법(2, 8, 16진수)

// 지수 표현사용
var numA = 5E3; // 의미는 5 * 10^3 (5 곱하기 10의 3승)
var numB = 1E8; // 의미는 1 * 10^8 (1 곱하기 10의 8승)

지수로 표현할 땐 위 코드에서 정의한 것처럼 숫자E숫자 이렇게 사용을 하면 된다.

 

//숫자 101 을 진수 표현

var num = 101; // 10진수
var hexNum = 0x65 // 16진수
var octNum = 0145 // 8진수
var binaryNum = 1100101 // 2진수

 

이렇게 자바스크립트에선 10진수 말고도 16진수, 8진수 2진수를 변수에 넣어서 사용도 가능하다

반응형

+ Recent posts