JavaScript에서 문자열을 정수로 변환할 때는 parseInt() 함수를 사용합니다. 이 함수는 문자열에 숫자가 포함되어 있지 않을 경우 NaN(Not a Number)을 반환합니다. 반대로 숫자가 포함된 문자열이 전달되면 그 숫자만 결과로 반환됩니다. 또한 parseInt()는 공백을 허용하지 않기 때문에, 공백이 포함된 문자열이 전달되면 공백 앞쪽에 있는 숫자 부분만 반환됩니다.
문법(Syntax)
parseInt(value);
이 함수는 문자열을 인수로 받아 정수로 변환합니다. 만약 문자열 안에 정수가 존재하지 않는다면 결과값으로 NaN이 출력됩니다.
예제(Example)
아래 예제에서는 순수한 문자열, 숫자가 포함된 문자열, 숫자와 문자가 섞인 문자열 등 다양한 사례를 parseInt() 함수에 전달하고 있습니다. 실행 결과를 통해 각각 어떤 값이 반환되는지 확인해 보세요.
<html>
<body>
<script>
var a = "10";
var b = parseInt(a);
document.write("value is " + b);
var c = parseInt("423-0-567");
document.write("</br>");
document.write('value is ' + c);
document.write("</br>");
var d = "string";
var e = parseInt(d);
document.write("value is " + e);
document.write("</br>");
var f = parseInt("2string");
document.write("value is " + f);
</script>
</body>
</html>
출력 결과(Output)
value is 10 value is 423 value is NaN value is 2
결과 분석
- "10" → 10 : 숫자로만 구성된 문자열은 그대로 정수로 변환됩니다.
- "423-0-567" → 423 : 숫자가 아닌 문자(하이픈)가 나오기 전까지만 읽어 변환합니다.
- "string" → NaN : 숫자가 전혀 포함되어 있지 않으므로 NaN을 반환합니다.
- "2string" → 2 : 문자열이 숫자로 시작하면 시작 부분의 숫자만 변환됩니다.
이처럼 parseInt()는 문자열의 처음부터 숫자를 읽다가 숫자가 아닌 문자를 만나면 그 지점에서 해석을 멈추고, 맨 앞부터 유효한 숫자가 없으면 NaN을 반환한다는 점을 기억하면 유용하게 활용할 수 있습니다.