반응형
자바스크립트에서 쉽게 진수 변환을 하는법
toString 과 parseInt를 이용하면 된다.
예시
let num = 122;
console.log(num.toString(2));
//1111010
let binNum = "1111010"
console.log(parseInt(binNum,2));
//122
toString()
Number.prototype.toString() 에 해당하는 메서드이다.
특정한 Number 객체를 문자열로 반환
num.toString(radix)
매개변수 radix
radix
는 2 ~ 36 사이의 정수가 들어간다.
2 ~ 36 사이의 정수가들어가지 않으면 RangeError가 발생한다.
radix
값이 지정되지 않으면 default 값으로 10이 들어가게 된다.
예시
let num = 1454;
console.log(num.toString(2)); // 2진수로 변환 결과값 : 10110101110
console.log(num.toString(8)); // 8진수로 변환 결과값 : 2656
console.log(num.toString(16)); // 16진수로 변환 결과 값 : 5ae
parseInt();
parseInt() 함수는 문자열 인자를 분석하여 특정 진수의 정수를 반환
parseInt(string, radix);
매개변수 String
변환하고 싶은 값이 들어간다.
만약 들어오는 값이 String 값이 아니면 추상변환을 통해 문자열 값으로 바꿔준다
문자열의 공백은 무시한다.
매개변수 radix
string
에서 표현하는 정수를 나타내는 2와 36 사이의 진수가 들어가야된다.
radix
의 기본값은 10이 아니다.
string
의 문자열이 "0x" 나 "0X"로 시작한다면, radix 는 16
string
의 문자열이 "0"과 그 이외로 시작한다면, 10
(ECMAScript5 이전에는 0으로 시작하면 8로 해석할 수도 있음)
결과값
radix
가 2보다 작거나 36보다 큰 경우 ⇒ NaN
첫번째 non-whitespace 문자가 숫자로 변환되지 않는 경우 ⇒ NaN
예시
parseInt(" F", 16); // 16진수를 값을 정수로 변환 => 15
parseInt("17", 8); // 8진수 값을 정수로 변환 => 8
반응형