javascript

Number(), parseInt() 차이

narafu 2021. 11. 15. 14:46

Number()와 parseInt() 둘다 형변환 함수이다.

차이는,
Number()는 파라미터로 받은 값이 숫자로 바꿀 수 없다면, NaN을 반환한다.('NaN'은 'Not a Number')
parseInt()는 파라미터로 받은 값을 숫자로 바꿀 수 있는 부분만 반환한다.

예를 들어,

var test1 = '1234';
Number(test1) = 1234;
parseInt(test1) = 1234;

var test2 = '1234가';
Number(test1) = NaN;
parseInt(test1) = 1234;

var test2 = '1234가56';
Number(test1) = NaN;
parseInt(test1) = 1234;

var test2 = '1,000,000';
Number(test1) = NaN;
parseInt(test1) = 1;


추가적으로, 금액에 콤마(,) 관련한 예를 덧붙인다.

// 콤마 표시
var test1 = 1000000;
var testCurrency1 =  test1.toLocaleString(); // 1,000,000

// 콤마 제거
var test2 = '1,000,000';
var testCurreny2 = Number(test2.replace(/,/g, '')); // 1000000



참고
https://dororongju.tistory.com/71

[자바스크립트] 형변환 Number() 와 parseInt() 의 차이

Number(str) / parseInt(str) Number(str) 문자열을 인자로 받으면 해당 문자열을 숫자로 바꿔줍니다. 아래의 코드는 '1234' 라는 문자열을 1234 라는 숫자로 형변환하여 변수 num에 담는 코드입니다. 1 var num..

dororongju.tistory.com