Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript parseInt() 함수 완벽 정리 – 문자열을 정수로 변환하는 방법

JavaScript의 parseInt() 함수는 숫자를 나타내는 문자열과 진법(radix)을 나타내는 숫자, 두 개의 매개변수를 받아 해당 진법의 정수를 반환하는 전역 함수입니다. 주로 사용자 입력이나 API 응답처럼 문자열 형태로 들어온 숫자 데이터를 실제 정수 값으로 변환할 때 유용하게 사용됩니다.

기본 문법

parseInt('4524', 8);

매개변수 설명

  • 문자열(string): 정수로 변환할 대상 문자열입니다. 앞뒤 공백은 자동으로 제거된 후 해석됩니다.
  • 진법(radix): 2부터 36까지의 정수로, 문자열을 어떤 진법의 숫자로 해석할지 지정합니다.

진법을 생략하면 문자열의 시작 패턴에 따라 진법이 추정되므로(예: '0x'로 시작하면 16진수), 예상치 못한 결과를 방지하려면 항상 진법을 명시적으로 지정하는 것이 좋습니다.

예제 1: 8진수 변환

<html>
<head>
   <title>JavaScript Example</title>
</head>
<body>
   <script type="text/javascript">
      var result = parseInt('4524', 8);
      document.write("Result: " + result);
   </script>
</body>
</html>

출력 결과

Result: 2388

위 예제에서 '4524'는 8진수로 해석되어 10진수 정수 2388로 변환됩니다. 계산 과정은 다음과 같습니다: 4×8³ + 5×8² + 2×8¹ + 4×8⁰ = 2048 + 320 + 16 + 4 = 2388.

예제 2: 다양한 진법 비교

같은 문자열이라도 진법에 따라 결과가 완전히 달라집니다. 아래 예제는 동일한 문자열 '4524'를 각각 8진수, 10진수, 16진수로 변환한 결과를 보여줍니다.

<html>
<head>
   <title>JavaScript Example</title>
</head>
<body>
   <script type="text/javascript">
      var result1 = parseInt('4524', 8);
      document.write("Result: " + result1);
      document.write("<br>");
      var result2 = parseInt('4524', 10);
      document.write("Result: " + result2);
      document.write("<br>");
      var result3 = parseInt('4524', 16);
      document.write("Result: " + result3);
   </script>
</body>
</html>

출력 결과

Result: 2388
Result: 4524
Result: 17700

알아두면 좋은 점

  • 문자열을 지정된 진법으로 해석할 수 없으면 NaN(Not a Number)을 반환합니다. 예를 들어 parseInt('45924', 8)은 9가 8진수에 존재하지 않으므로 앞부분만 해석해 4를 반환합니다.
  • 소수점 이하는 무시되며, 문자열 중간에 숫자가 아닌 문자가 나오면 그 앞까지만 변환합니다.
  • ES2015(ES6) 이후에는 Number.parseInt()로도 호출할 수 있으며, 두 방식은 완전히 동일하게 동작합니다.