라이브러리

[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진법의 정수 변환은 가장 빠릅니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 1 페이지

검색

게시물 검색