자바스크립트 Javascript String, Number 형변환 (javascript Casting to int, javascript casting to string)
자바스크립트(Javascript) String, Number 형변환 (javascript Casting to int, javascript casting to string)
Javascript는 명시적으로 타입이 정의되어 있지 않고, var 타입으로 정의하면 Javascript가 알아서 적절한 타입을 지정하게 된다.
명식적으로 타입이 정의되어 있지 않으면 원치 않는 결과가 나타나기도 한다.
명시적으로 형변환을 하는 방법은 아래와 같다.
1. Number(), String()
// number to string var tmp = 100; alert(typeof tmp); // number tmp = String(tmp); alert(typeof tmp); // string // string to number var tmp = "100"; alert(typeof tmp); // string tmp = Number(tmp); alert(typeof tmp); // number
2. parseInt(), parseFloat()
parseInt()나 parseFloat()는 형변환 목적이 아닌 정수나 실수로 파싱해주는 역할을 하는데, 이 때 파싱을 하면서 형변환이 number로 된다.
// number to string var tmp = "100"; alert(typeof tmp); // string tmp = parseInt(tmp); alert(typeof tmp); // number // string to number var tmp = "100"; alert(typeof tmp); // string tmp = parseFloat(tmp); alert(typeof tmp); // number
Javascript API 를 보면 (http://www.w3schools.com/jsref/)
parseInt(string,radix) parseFloat(string) |
위와 같이 되어 있다.
parseInt()에서 radix는 parse할 때 기준이 되는 진수를 말한다. 정수로 파싱되는 parseInt()에만 정의되어 있고, 2~36진수까지 정의가 가능하다. 디폴트는 10진수 이다.
parseInt("123.456"); // 123 parseInt("123km"); // 123 parseInt("w123"); // NaN parseInt("05"); // 5 parseInt("09"); // 0 , 0으로 시작하는 진수는 8진수를 의미한다. 따라서 의도하지 않은 결과가 0값으로 나타난다. parseInt("0x12"); // 18 parseInt("1100", 2); // 12 parseInt("09", 10); // 9 parseInt("10", 8); // 8 parseFloat("123.456"); // 123.456 parseFloat("123.456km"); // 123.456 parseFloat("w123"); // NaN parseFloat("05"); // 5 parseFloat("09"); // 9 parseFloat("0x12"); // 0, 10진수에 0x로 시작하는 수는 없기 때문에 0으로 결과가 나타난다.
3. 편법으로 String을 Number로, Number를 String으로 형변환
아래 방법은 Javascript의 자동 형변환을 이용하는 방법이다.
숫자 타입에 문자를 더하면 문자 타입의 결과가 나오고, 문자 타입에 숫자를 곱하면 숫자타입이 되는 특성을 이용한 방법이다.
명시적으로 형변환 하지 않았기 때문에 소스의 의도 파악이 되지 않을 수도 있다.
// number to string var tmp = 100; tmp = tmp + ""; alert(typeof tmp); // string // string to number var tmp = "100"; tmp = tmp * 1; alert(typeof tmp); // number
댓글
이 글 공유하기
다른 글
-
.NET C# 64bit 편집하며 계속하기 사용
.NET C# 64bit 편집하며 계속하기 사용
2014.10.07 -
자바스크립트(Javascript) 소수점 자리수, 올림, 버림, 반올림, 원단위 절사
자바스크립트(Javascript) 소수점 자리수, 올림, 버림, 반올림, 원단위 절사
2014.02.19 -
자바스크립트 input 숫자만 입력 Javascript input only numbers
자바스크립트 input 숫자만 입력 Javascript input only numbers
2014.02.13 -
Java error 1723, 자바 JDK 설치가 안될 때 해결 방법, 자바 재설치 오류, 자바 uninstall
Java error 1723, 자바 JDK 설치가 안될 때 해결 방법, 자바 재설치 오류, 자바 uninstall
2013.10.25
댓글을 사용할 수 없습니다.