본문 바로가기

Story/Javascript

parseInt()

반응형
parseInt() 기능함수는 문자열에서 앞부분의 유효한 정수를 추출해 온다.
parseInt(jsString,radix)
인수
parseInt() : (유효정수 검정 기능함수)
필수적인 인수로 최상위 내장 기능함수이다.
jsString : (검정할 수치 코드)
선택적인 인수로 기능함수의 인수(argument)로 주어진 코드로 검정의 대상이 된다.
jsString은 선택적이기는 하지만, 없으면 값 NaN을 반환한다.
radix : (정수 베이스)
선택적인 인수 radix2에서 36 사이의 정수 베이스이다. 몇진수인가를 의미한다.
예를 들어 이 정수 베이스 16 이면 16진수 수치(0123456789ABCDEF)로 환산하는 것이다.
radix가 제공되지 않거나 수치 0이 제공되었으면, 그 정수 베이스를 알아내려는 시도를 한다.
  1. 첫 문자가 1~9 사이 수치이면 10진수로,
  2. 0X0x로 시작하였으면 16진수로 파싱(parse)하게 된다.
  3. 0으로 시작되었으면 실제적으로 8진수가 아니더라도 8진수로 파싱한다.

radix를 사용하면 해당 진수의 수치를 10진수 정수 수치로 반환한다.

parseInt("0xDA",16)=218

 

설명
제일 앞에 나오는 문자열이 아닌 정수 수치만을 얻어 온다.
첫문자가 수치가 아니면 유효수치가 아닌 첫문자부터 문자들을 모두 무시하고 NaN을 반환한다.
첫문자가 판정되면 한 문자씩 우측으로 판정해 가는데, 문자열 중에 수치가 아닌 문자를 만나면 그 뒤에 어떤 문자들이 나오거나 관계없이 버리고 맨 먼저 얻어진 정수만을 반환한다.(소수점이나 소수점 뒤의 수치도 버린다.)
반환되는 값은 수치들의 문자열이 아니고 정수 수치이다.
첫 문자가 수치가 아니거나 빈칸이 맨 먼저 나오는 문자열(빈칸도 수치가 아니므로)도 값 NaN을 반환한다.
특기
parseInt() 기능함수는 parseFloat() 기능함수와 아주 유사하나 parseFloat()에서는 소수점까지 반환하는데 비해 유효수치 중에서 정수만 반환한다는 점이 다르다.

예제
<SCRIPT>
document.write("1) "+parseInt("123")); // 전부 유효수치 정수임
document.write("<BR>2) "+parseInt("12345.12345")); // 소수점을 포함하여 뒤를 무시하고 정수만 반환함
document.write("<BR>3) "+parseInt("3000.00000000")); // 소수점을 포함하여 뒤를 무시하고 정수만 반환함
document.write("<BR>4) "+parseInt("123.123 456.456 789.789")); // 소수점을 포함하여 뒤를 무시하고 정수만 반환함
document.write("<BR>5) "+parseInt("123 맞는가"));  // 빈칸을 포함하여 뒤를 무시하고 정수만 반환함
document.write("<BR>6) "+parseInt("123,456,789")); // 컴마(,)를 포함하여 뒤를 무시하고 정수만 반환함
document.write("<BR>7) "+parseInt("수치로 시작 하지 않는 문자열 2003년")); // 첫문자부터 문자가 들어 있어 유효수치 정수가 없음
document.write("<BR>8) "+parseInt("2003년 1월 1일"));  // 유효수치가 아닌 '년'을 포함하여 뒤를 무시하고 정수만 반환함
document.write("<BR>9) "+parseInt("=2000"));  // 첫문자 '='부터 문자가 들어 있어 유효수치 정수가 없음
</SCRIPT>

1) 123
2) 12345
3) 3000
4) 123
5) 123
6) 123
7) NaN
8) 2003
9) NaN


출처 http://koxo.com/lang/js/function/parseInt.html
반응형