배워가는 학생입니다. 틀린 부분이 있다면 댓글로 알려주시면 감사하겠습니다!🤗
알고리즘 문제 중에, 진수변환 문제가 종종 있다.
나는 이걸 여태까지는 직접 % 를 통해 구해왔었는데,
자바스크립트 함수로 이를 쉽게 변환할 수 있다는 사실을 알고 정리해보려고 한다!
1) toString()
numObj.toString(radix)
- radix: 2~26 사이의 정수 중, 변환하고자 하는 수가 몇진수인지 적어주면 된다.
만약, 2~26 사이의 값이 아니라면 에러가 발생한다.
10진수를 다른 진수로 변환할 때 사용한다.
원래의 toString()은 '특정 객체를 문자열로 반환해주는' 함수이지만, 특정 진수로 변환하고자 할 때에는
이렇게 사용하면 특정 진수로 변환해준다.
즉, 변환하고 자 하는 수.toString(특정진수) 로 적어주면 된다.
let x = 6;
console.log(x.toString(2)); // '110' 6을 2진수로
console.log((254).toString(16)); // 'fe' 254를 16진수로
2) parseInt()
parseInt(string, radix);
- string: 변환하고자 하는 수. 만약 문자열이 아니면 문자열로 변환.
- radix: 변환하고자 하는 수의 진수
다른 진수를 10진수로 변환할 때 사용한다.
parseInt(변환하고자 하는 값, 변환하고자 하는 값의 진수)로 적어주는데
이때 변환하고자 하는 값의 첫번째 글자가 숫자로 변환될 수 없다면 사용하지 못한다.
또한, 문자와 숫자가 섞여있다면 문자가 나오기 전까지만 변환하고 parseInt는 반드시 정수의 값을 리턴한다.
parseInt(" 0xF", 16);
parseInt(" F", 16);
parseInt("17", 8);
parseInt(021, 8);
parseInt(15.99, 10);
//해당값들은 모두 15를 리턴한다
3) 참고자료
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/parseInt
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Number/toString
'웹 > JavaScript' 카테고리의 다른 글
[JavaScript] function 에서의 세미콜론(;) (0) | 2021.07.20 |
---|---|
[JavaScript] 클릭한 요소 인덱스 구하기 (querySelectorAll, onclick...) (0) | 2021.06.26 |
[JavaScript] 숫자 자료형(number) (0) | 2021.06.15 |
[JavaScript] undefined vs null (undefined과 null의 차이점) (0) | 2021.06.15 |
[JavaScript] typeof 연산자 (0) | 2021.06.05 |