라이브러리
[JAVASCRIPT] parseInt(string, radix) - 문자열을 정수(integer)로 변환 (기수(radix) 지정 가능)
parseInt(string, radix) 함수
JavaScript의 parseInt() 함수는 문자열을 정수로 변환하는 데 사용됩니다. 이 함수는 두 개의 매개변수를 받습니다.
- 첫 번째 매개변수는 변환할 문자열입니다.
- 두 번째 매개변수는 변환할 수의 진법을 나타내는 radix입니다.
radix의 값
radix는 2에서 36 사이의 정수여야 합니다. 각 진법은 0에서 9까지의 숫자와 A에서 Z까지의 대문자 알파벳을 사용합니다.
- 2진법: 0, 1
- 8진법: 0, 1, 2, 3, 4, 5, 6, 7
- 10진법: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
- 16진법: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
예제
#hostingforum.kr
javascript
// 10진법의 정수
let num = "123";
console.log(parseInt(num)); // 123
// 16진법의 정수
let hexNum = "7F";
console.log(parseInt(hexNum, 16)); // 127
// 8진법의 정수
let octNum = "173";
console.log(parseInt(octNum, 8)); // 127
// 2진법의 정수
let binNum = "1111111";
console.log(parseInt(binNum, 2)); // 127
// 오류 발생
let errorNum = "123abc";
console.log(parseInt(errorNum)); // NaN (Not a Number)
parseInt() 함수의 옵션
parseInt() 함수에는 두 번째 매개변수인 radix를 생략할 수 있습니다. 이 경우, 함수는 문자열의 첫 번째 문자에 따라 진법을 결정합니다.
- 문자열의 첫 번째 문자가 0이면 8진법으로 인식합니다.
- 문자열의 첫 번째 문자가 0x이면 16진법으로 인식합니다.
- 문자열의 첫 번째 문자가 0b이면 2진법으로 인식합니다.
- 문자열의 첫 번째 문자가 0o이면 8진법으로 인식합니다.
- 문자열의 첫 번째 문자가 0이 아닌 숫자이면 10진법으로 인식합니다.
parseInt() 함수의 사용 예시
#hostingforum.kr
javascript
// 10진법의 정수
let num = "123";
console.log(parseInt(num)); // 123
// 16진법의 정수
let hexNum = "7F";
console.log(parseInt(hexNum)); // 127
// 8진법의 정수
let octNum = "173";
console.log(parseInt(octNum)); // 127
// 2진법의 정수
let binNum = "1111111";
console.log(parseInt(binNum)); // 127
// 오류 발생
let errorNum = "123abc";
console.log(parseInt(errorNum)); // NaN (Not a Number)
parseInt() 함수의 오류 처리
parseInt() 함수는 오류를 처리하는 데 사용할 수 있습니다. 오류가 발생하면 NaN (Not a Number) 값을 반환합니다.
#hostingforum.kr
javascript
// 오류 발생
let errorNum = "123abc";
console.log(parseInt(errorNum)); // NaN (Not a Number)
parseInt() 함수의 성능
parseInt() 함수의 성능은 문자열의 길이와 radix에 따라 달라집니다. 일반적으로 10진법의 정수 변환은 가장 빠릅니다.
#hostingforum.kr
javascript
// 성능 테스트
let num = "123";
console.time("10진법");
for (let i = 0; i < 1000000; i++) {
parseInt(num);
}
console.timeEnd("10진법");
let hexNum = "7F";
console.time("16진법");
for (let i = 0; i < 1000000; i++) {
parseInt(hexNum, 16);
}
console.timeEnd("16진법");
let octNum = "173";
console.time("8진법");
for (let i = 0; i < 1000000; i++) {
parseInt(octNum, 8);
}
console.timeEnd("8진법");
let binNum = "1111111";
console.time("2진법");
for (let i = 0; i < 1000000; i++) {
parseInt(binNum, 2);
}
console.timeEnd("2진법");
결론
parseInt() 함수는 문자열을 정수로 변환하는 데 사용할 수 있습니다. 이 함수는 두 개의 매개변수를 받습니다. 첫 번째 매개변수는 변환할 문자열이고, 두 번째 매개변수는 변환할 수의 진법을 나타내는 radix입니다. parseInt() 함수는 오류를 처리하는 데 사용할 수 있습니다. 오류가 발생하면 NaN (Not a Number) 값을 반환합니다. parseInt() 함수의 성능은 문자열의 길이와 radix에 따라 달라집니다. 일반적으로 10진법의 정수 변환은 가장 빠릅니다.
댓글목록
등록된 댓글이 없습니다.