자바스크립트_숫자변환함수
● parseInt(string) , parseFloat(string)
parseInt(string) string을 정수로 바꾸어줍니다.
parseFloat(string) string을 유리수로 바꾸어줍니다.
int : integer 의 약자로 정수를 의미
float 은 floating point 의 약자로 부동소수점을 의미한다.
Number() 함수의 단점을 보완하고자 만들어진 함수이다.
▶ Number 함수의 단점 예제
var won = '1000원';
var dollar = '1.5$';
alert( ' 원을 Number변환 ['+Number(won)+'] 달러를 Number변환 ['+Number(dollar)+']');
결과 : NaN , NaN
▶ parseInt() 함수와 parseFloat() 함수
var won = '1000원';
var dollar = '1.5$';
alert('원을 parseInt변환 ['+parseInt(won)+'] parseFloat()변환 ['+parseFloat(won)+']');
alert('달러를 parseInt변환 ['+parseInt(dollar)+'] parseFloat() ['+parseFloat(dollar)+']');
결과 :
parseint() parseFloat() 함수 사용시 주의점
자바스크립트는 0 으로 시작하거나 0x 로 시작하면 10진수가 아니라 각각 8진수, 16진수로 생각하고 변환합니다.
alert( 'parseInt 0x273 ['+parseInt('0x273') +'] \n parseInt 273 ['+parseInt('273') +'] \n parseInt 0273['+parseInt('0273') +'] \n ' );
결과 :
흠,, 책에서는 0 으로 시작하면 8진수로 인식하다고 했지만,, 실제로는 10진수처럼 인식하는구나
▶ parseInt() 두 매개변수 에서 앞의 변수를 뒤의 진법의 수로 인식한다.
alert( 'parseInt FF 16진수 [' + parseInt('FF', 16) + '] parseInt 52 10진수 [' + parseInt('52', 10) + '] parseInt 11 8진수 [' +parseInt('11', 8) + '] parseInt 10 2진수 [' + parseInt('10',2) + ']');
결과 :
어디에 쓰는가?
가끔 0 으로 시작하는 숫자를 넣어서 문제가 발생하는 경우가 있으므로
parseFloat 함수도 중간에 e 가 들어가는 경우 e 의 뒷부분을 자릿수로 인식
alert( 1234.5678e5 );
결과 : 123456780
05장 함수 끝~
출처 책 : 모던 웹을 위한 JavaScript jQuery 입문 by 윤인성