세로형
Recent Posts
Recent Comments
Link
03-29 03:47
«   2024/03   »
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
31
Archives
Today
Total
관리 메뉴

꿈 많은 사람의 이야기

자바스크립트 Number(), parseInt(), parseFloat(). 문자를 숫자로 변환 본문

javascript

자바스크립트 Number(), parseInt(), parseFloat(). 문자를 숫자로 변환

이수진의 블로그 2017. 8. 16. 08:50

자바스크립트에선 문자열을 숫자로 변경하는게 매우 간단하다.
애시당초 변수를 선언하고 숫자를 넣으면 숫자, 문자열을 넣으면 문자열 타입으로 넣을 수 있는거 자체가 간단하긴하다.

var a = 10; //숫자형
var a = "abc";//문자열 형

하지만 문자열을 숫자로 바꿀 수 있는 방법이 있다.
Number() 나 parseInt()를 이용하면 된다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<script>
 
var x = true;
Number(x); //1
 
= false;
Number(x); //0
 
= "10";
Number(x); // 숫자 10
 
= "10 20";
Number(x); //NaN(Not a Number)
 
= "afd";
Number(x); //NaN
 
</script>

Number()를 사용하는 방법은 위와 같다.
사실상 parseInt()도 마찬가지다.


parseInt("10");         // 10
parseInt("10.33");      // 10
parseInt("10 20 30");   // 0
parseInt("10 years");   // 10
parseInt("years 10");   // NaN 

약간의 차이가 있지만 변환해주는 기능은 비슷하다.


parseFloat()은 실수형으로 반환해준다.

parseFloat("10");        //  10
parseFloat("10.33");     // 10.33
parseFloat("10 20 30");  // 10
parseFloat("10 years");  // 10
parseFloat("years 10");  // NaN



그래서 이것을 이용해 숫자로 변환 가능한 문자열인지 아닌지 체크도 가능하다.

parseInt()로 해서 숫자로 변환 가능하면 숫자로 변환이 되지만 abc같은 문자열은 숫자로 변환이 불가능해서 NaN이 나온다.

만약 <input type="text" id="ac"> 부분에서 받아온 값이 숫자여야만 한다면(예를 들어 금액 값) 자바스크립트에서 다음과 같이 받아올 수 있다.

var acc = parseInt(document.getElementById("ac").value);

만약 금액을 입력해야 하는데 ab1000을 입력했으면 NaN이 나온다.

그럼 if(isNaN(acc)) 즉 NaN이면 프로그램 흐름을 막으면 된다.

이런식으로 응용할 수 있다.



반응형
그리드형
Comments