반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Visual Studio Code
- 배열
- 테이블
- Files
- list
- vscode
- string
- 인텔리제이
- table
- ArrayList
- Maven
- date
- Java
- 이클립스
- CMD
- Eclipse
- javascript
- js
- 자바스크립트
- json
- CSS
- html
- Button
- Array
- IntelliJ
- 자바
- 문자열
- 이탈리아
- windows
- input
Archives
- Today
- Total
어제 오늘 내일
[Javascript] Number()와 parseInt()의 차이 본문
Javascript에서
Number()와 parseInt()는
문자열을 숫자로 변환할 때 주로 사용됩니다.
이번에는
두 함수의 차이점을 정리해보도록 하겠습니다.
Number()
Number 객체는 숫자를 표현하는 wrapper 객체입니다.
Number 객체는 Java나 C#에서의 double과 비슷합니다.
즉, Number 객체는 소수점 이하 17자리를 표현할 수 있습니다.
Number()는
Number 객체의 Constructor로, Number 객체를 생성합니다.
parseInt()
parseInt()에 대한 설명은
이전의 포스팅을 참조하세요.
Number()와 parseInt()
// Number() vs parseInt()
const num = Number('100');
const par = parseInt('100');
// 결과 출력
document.write("Number('100') : " + num);
document.write('<br>');
document.write("parseInt('100') : " + par);
Number()와 parseInt()는
위와 같이 문자열을 숫자로 변환할 때 많이 사용합니다.
그렇다면,
문자열을 숫자로 변환하는
Number()와 parseInt()의 차이점은 무엇일까요?
차이점1
Number()는 오로지 숫자 타입의 문자열만 Number 타입으로 변환합니다.
// Number()
const num1 = Number('1'); // 1
const num2 = Number('1st'); // NaN
const num3 = Number('No1'); // NaN
const num4 = Number('No1A'); // NaN
// parseInt()
const int1 = parseInt('1'); // 1
const int2 = parseInt('1st'); // 1
const int3 = parseInt('No1'); // NaN
const int4 = parseInt('No1A'); // NaN
// 결과 출력 : Number()
document.write("Number('1') : " + num1 + "<br>");
document.write("Number('1st') : " + num2 + "<br>");
document.write("Number('No1') : " + num3 + "<br>");
document.write("Number('No1A') : " + num4 + "<br><br>");
// 결과 출력 : parseInt()
document.write("parseInt('1') : " + int1 + "<br>");
document.write("parseInt('1st') : " + int2 + "<br>");
document.write("parseInt('No1') : " + int3 + "<br>");
document.write("parseInt('No1A') : " + int4 + "<br>");
차이점2
Number()는 소수점을 표시할 수 있습니다.
// Number()
const num1 = Number('1.9'); // 1.9
// parseInt()
const int1 = parseInt('1.9'); // 1
// 결과 출력 : Number()
document.write("Number('1.9') : " + num1 + "<br>");
// 결과 출력 : parseInt()
document.write("parseInt('1.9') : " + int1 + "<br>");
차이점3
parseInt()는 2번째 파라미터를 이용하여, 문자열을 2진법, 16진법 숫자를 10진법으로 변환할 수 있습니다.
// Number()
const num1 = Number('11'); // 11
// parseInt()
const int1 = parseInt('11'); // 11
const int2 = parseInt('11', 2); // 3
const int3 = parseInt('11', 16); // 17
// 결과 출력 : Number()
document.write("Number('11') : " + num1 + "<br><br>");
// 결과 출력 : parseInt()
document.write("parseInt('11') : " + int1 + "<br>");
document.write("parseInt('11', 2) : " + int2 + "<br>");
document.write("parseInt('11', 16) : " + int3 + "<br>");
차이점4
null, boolean, empty string 등의 처리에 차이가 있습니다.
// Number()
const num1 = Number(); // 0
const num2 = Number(true); // 1
const num3 = Number(null); // 0
const num4 = Number(''); // 0
// parseInt()
const int1 = parseInt(); // NaN
const int2 = parseInt(true); // NaN
const int3 = parseInt(null); // NaN
const int4 = parseInt(''); // NaN
// 결과 출력 : Number()
document.write("Number() : " + num1 + "<br>");
document.write("Number(true) : " + num2 + "<br>");
document.write("Number(null) : " + num3 + "<br>");
document.write("Number('') : " + num4 + "<br><br>");
// 결과 출력 : parseInt()
document.write("parseInt() : " + int1 + "<br>");
document.write("parseInt(true) : " + int2 + "<br>");
document.write("parseInt(null) : " + int3 + "<br>");
document.write("parseInt('') : " + int4 + "<br><br>");
예제를 통해
Number()와 parseInt()의 차이점을 알아보았습니다.
반응형
'IT > Javascript' 카테고리의 다른 글
[Javascript] 배열 값 전체 출력하기 (for, forEach, for in, for of) (0) | 2022.06.16 |
---|---|
[Javascript] 숫자를 배열로 변경하는 2가지 방법 (Array.from(), split()) (0) | 2022.06.04 |
[Javascript] 체크박스 선택 시, 텍스트 박스 활성화/비활성화 하기 (1) | 2022.03.23 |
[Javascript] 체크박스 체크여부 확인하기 (0) | 2022.03.23 |
[CSS/JavaScript] 버튼(element) 숨기기 보이기 (0) | 2022.03.15 |
Comments