자바스크립트에선 문자열을 숫자로 변경하는게 매우 간단하다.
애시당초 변수를 선언하고 숫자를 넣으면 숫자, 문자열을 넣으면 문자열 타입으로 넣을 수 있는거 자체가 간단하긴하다.
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 x = false; Number(x); //0 x = "10"; Number(x); // 숫자 10 x = "10 20"; Number(x); //NaN(Not a Number) x = "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이면 프로그램 흐름을 막으면 된다.
이런식으로 응용할 수 있다.
'javascript' 카테고리의 다른 글
자바스크립트로 간단한 퍼즐게임 만들기 (5) | 2017.08.21 |
---|---|
자바스크립트 Math (0) | 2017.08.16 |
자바스크립트 NaN, isNan() 메소드 (0) | 2017.08.16 |
자바스크립트 이벤트(mouseover, mouseenter, onclick, over시 이미지 변경), 문자열 (0) | 2017.08.16 |
자바스크립트 계산기 만들기 (0) | 2017.08.16 |