오늘 프로그램에 버그가 나타났습니다. 나는 오랫동안 그것을 디버깅하고 마침내 그것이이 문제라는 것을 알았습니다.
실험이 완료되었습니다.
alert (parseint ( "01")), vale의 값이 01 ====> 07 일 때, 그것은 정상이지만 "08", "09"는 0을 반환합니다.
(이 현상은 360 브라우저와 같은 Ikea 커널의 브라우저에서 발생합니다.이 오류는 발생합니다) (Google, Firefox는 영향을받지 않습니다)
.
정보를 읽은 후이 현상의 이유에 대해 배웠습니다.
위대한 하나님의 설명 :
01-07은 당연히 문제가 없지만 09와 08은 모두 자격이없는 옥탈 형태이므로 0으로 처리되었습니다.이 문제를 해결하기 위해 ParseInt 기능의 다른 매개 변수를 사용하여 ParseInt를 소수로 처리하도록 지시 할 수 있습니다.
parseint ( "08", 10) 또는 parseint ( "09", 10)
parseint (String, radix) 는 문자열을 정수로 변환하는 것입니다. 두 번째 매개 변수는 문자열 형식을 설정하는 것입니다. 일반적으로 사용되는 것은 2, 8, 10 및 16이며, 이진 번호의 문자열 수를 나타냅니다.
라디습니다. 바람직 할 수있는 범위는 2 ~ 36입니다. 이 범위 내에 있지 않으면 NAN이 반환됩니다.
radix의 값이 0으로 설정되면 문자열 형식이 자동으로 인식됩니다.
"0x"로 시작하여 Parseint ()는 0x를 제외한 나머지 문자열을 16 진수로 취급합니다.
"0"으로 시작하여 Parseint ()는 0 이외의 문자를 Octal 또는 16 진수로 취급합니다.
숫자 1에서 9로 시작하여 parseint ()는 소수점으로 취급됩니다.
위는 Parseint ( "08") 및 "09"가 JavaScript에서 0을 반환 한 이유에 대한 관련 지식입니다. 나는 그것이 당신에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!