다음과 같은 문자열이 있다고 가정해 보겠습니다.
var stringValue="453.000.00.00.0000";
위 문자열처럼 점(.)과 0이 섞여 있는 값을 그대로 parseInt()에 넘기면 원하는 결과를 얻을 수 없습니다. 따라서 먼저 replace() 메서드와 정규식을 사용해 모든 점을 제거한 뒤, parseInt()로 숫자로 변환해야 합니다.
var numberValue = parseInt(stringValue.replace(/\./gm, ''));
여기서 정규식 /\./gm은 문자열 전체에서 마침표(.)를 찾아내며, 이를 빈 문자열('')로 대체하여 점을 모두 삭제합니다. 그 결과 남은 숫자 문자열만 parseInt()에 의해 정수로 변환됩니다.
예제
다음은 전체 코드입니다.
var stringValue="453.000.00.00.0000";
var numberValue = parseInt(stringValue.replace(/\./gm, ''));
console.log("Original value="+stringValue)
console.log("After modification the value="+numberValue);위 프로그램을 실행하려면 다음 명령어를 사용합니다.
node fileName.js
여기서는 파일 이름이 demo239.js입니다.
출력 결과
실행 결과는 다음과 같습니다.
PS C:\Users\Amit\javascript-code> node demo239.js Original value=453.000.00.00.0000 After modification the value=45300000000000
출력에서 확인할 수 있듯이, 원본 문자열의 모든 점이 제거되고 "45300000000000"이라는 하나의 정수 값으로 변환된 것을 볼 수 있습니다. 이 방식은 버전 번호, IP 주소 형태의 데이터 등 구분자가 포함된 숫자 문자열을 처리할 때 유용하게 활용할 수 있습니다.