자바스크립트

자바스크립트_숫자변환함수

subdong7 2017. 1. 19. 21:46

● 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장 함수 끝~


test_20170119.html




출처 책 : 모던 웹을 위한 JavaScript jQuery 입문 by 윤인성