2011-05-09 2 views
0

값 다시 예상 가능한 중복을 제공하지 않습니다
Javascript parseInt gives very unexpected results으로 parseInt는

자바 스크립트가 제로로 parseInt(08)parseInt(09) 해석하지만, 모든 것을 않는 이유는 누군가가 설명 할 수 바로 01 07에 ?

parseFloat이 값에 대한 올바른 값을 제공 할 것이고, 나는 대답을 찾을 수 없습니다. 왜 자바 스크립트는 8과 9에만이를 수행 할 것입니다.

정보 : 앞에 오는 0은 시간 (시간 : 분)입니다.

더 좋은 예를 보려면 다음 링크를 참조하십시오. http://jsfiddle.net/NPtzA/3/ 여기서 예기치 않은 동작을 볼 수 있습니다.

+0

을 사용하는 숫자 시스템을 변경하려면 : 전체 문자열이 숫자 인 경우 (즉, 접미 말 없음) , 단항'+'를 사용하여 (10 진수) 정수 또는 부동 소수점 값으로 변환 할 수 있습니다 : var number = + numberString; (더 빠름). –

+0

'parseInt (08,10)'과'parseInt (09,10)'를 시도하십시오. – robertc

+0

예! 당신 말이 맞아요. 이걸 찾아 주셔서 고마워요. 이제 관련 질문에서도 볼 수 있어요! – Tim

답변

0

parseInt은 함수가 올바른 기준을 찾고있는 수치 시스템을 결정하려고하기 때문에 0을 반환합니다. 그것이 도움이 더 08 또는 09

희망이 없음을 의미 모든 진수로 간주됩니다 선도적 0 좋은 일이 여부, 자바 스크립트 숫자이든

.

편집 : parseInt10 매개 변수를 추가하여 바이올린의 내 편집 체크 아웃은 그냥 보조 노트로 http://jsfiddle.net/jbrooksuk/NPtzA/5/