반응형
parseInt()를 사용시에 변환값으로 "07"과 같이 "0"으로 시작된 숫자를 변환할 경우 8진수로 변환처리하여
원하는 결과와 다른 결과를 리턴하게 된다.
javascript 엔진은 첫번째 스트링이 0x로 시작하면 16진수로, 0으로 시작하면 8진수로 가정하기 때문이다.
parseInt함수의 syntax
10진수인 경우에는 반드시 두번째 매개변수로 parseInt("07",10) 을 넣어줌으로서 명시적으로 10진수 변환
이런 소소한 실수로 인해 원인모를 버그로 고생하지 않길 바란다.
원하는 결과와 다른 결과를 리턴하게 된다.
javascript 엔진은 첫번째 스트링이 0x로 시작하면 16진수로, 0으로 시작하면 8진수로 가정하기 때문이다.
parseInt함수의 syntax
parseInt(string[, radix]) - string: 정수로 바꿀 대상 문자열 - radix: 문자열을 바꿀때 사용할 기수(optional) - returns: 문자열을 parsing한 정수값(10진수) 또는 NaN |
10진수인 경우에는 반드시 두번째 매개변수로 parseInt("07",10) 을 넣어줌으로서 명시적으로 10진수 변환
이런 소소한 실수로 인해 원인모를 버그로 고생하지 않길 바란다.
var strNum = "07"; parseInt(strNum, 10); //명시적으로 10진수 변환이란걸 지정하도록 하자. |