parseInt(string, radix)
parseInt() 함수는 문자열 인자를 파싱하여 특정 진수의 정수를 반환한다.
이게 무슨 말인고 하니
첫 번째 인자로 오는 값을 두 번째 인자인 진법으로 해석하고 정수(10진수)로 나타낸다.
매개변수
string
파싱할 값. 문자열이 아닐 경우 ToString 추상 연산을 사용해서 문자열로 변환한다.
radix
(optional)
string 의 진수를 나타내는 2부터 36까지의 정수. Number
자료형이 아닌 경우 Number
로 변환한다.
string 매개변수로 받는 첫 번째 값을 문자열로 변환하고 그 값을 파싱하여 정수나 NaN
으로 반환한다.
코드
아래의 코드는 모두 15 를 반환한다.
parseInt('0xF', 16)
parseInt('F', 16)
parseInt('17', 8)
parseInt(021, 8)
parseInt('015', 10) // parseInt('015', 8)이었다면 13을 반환
parseInt(15.99, 10)
parseInt('15,123', 10)
parseInt('FXX123', 16)
parseInt('1111', 2)
parseInt('15 * 3', 10)
parseInt('15e2', 10)
parseInt('15px', 10)
parseInt('12', 13)
numObj.toString([radix]);
radix
(optional)
진수를 나타내기 위한 기준을 정하는 2와 36사이의 정수
Number
객체를 명시하는 문자열을 반환한다.
numObj에 사용되는 toString은 numObj를 radix
진법으로 변환한 문자열을 반환한다.
radix가 생략될 경우 10진수로 가정하게 된다.
코드
console.log((17).toString()); // '17'
console.log((6).toString(2)); // '110'
console.log((254).toString(16)); // 'fe'
정리
10진수를 다른 진수로 변환할 때는 toString()를, 다른 진수를 10진수로 변환하기 위해서는 parseInt()를 사용한다.
예시
10진수 23을 8진수로 나타내보자.
const octal = (23).toString(8);
console.log(octal); // 27
16진수 7b를 10진수로 나타내보자.
const hex = parseInt("7b", 16);
console.log(hex); // 123
2진수 11001를 16진수로 나타내보자.
2진수로 표현된 수를 10진수로 변환한 뒤, 16진수로 변환하는 방법이 있다.
const num = "11001";
console.log(parseInt(num, 2).toString(16)); // 19
'Algorithm > Capsule' 카테고리의 다른 글
최대공약수와 최소공배수 알고리즘 - 유클리드 호제법 (자바스크립트) (0) | 2022.07.04 |
---|