javascript의 parseInt 함수
javascript의 parseInt 함수는 그것이 무엇인지 모두가 알고 있습니다
하지만
parseInt("07")가
parseInt("08 ")를 얼마나 반환하는지 아시나요? )는 몇 개를 반환합니까?
정답은
parseInt("07")가 8을 반환합니다.
parseInt("08")가 0을 반환합니다.
문제가 어디에 있는지 아시나요?
사실 다들 이 문제에 대해 생각해본 적이 없으실 겁니다.
JavaScript의parseInt 함수를 사용할 때
parseInt("08") 또는parseInt("09")는 실제로 0을 반환하고
parseInt("01")...parseInt("07") 맞습니다.
이게 왜요?
처음에는 이해하기 어려웠지만, 나중에 이 문제가 발생하는 이유는 앞에 "0"이 있으면
javascript의 디버거가 이를 8진수로 인식하고
그리고 "08"과 "09" "는 유효한 8진수가 아니므로
문제가 발생하지만,parseFloat에는 이 문제가 없습니다.
parseInt() 함수는 JavaScript 참조에 다음과 같이 설명되어 있습니다.
parseInt 메서드
문자열에서 변환된 정수를 반환합니다. 문자열을 정수로 변환합니다.
parseInt(numString, [radix])
parseInt의 매개변수 기수:
선택 사항. numString이 보유한 숫자의 밑수를 나타내는 2에서 36 사이의 값입니다. 제공되지 않으면 '0x' 접두사가 붙은 문자열은 16진수로 처리되고, '0' 접두사가 붙은 문자열은 8진수로 처리됩니다. 다른 모든 문자열은 10진수로 처리됩니다.
따라서 parseInt("08",10) 또는 parseInt("09",10)를 사용하는 경우
자바스크립트 인터프리터에 십진수를 사용하여 구문 분석하도록 알리면 원하는 숫자를 얻을 수 있습니다.
첨부 파일:
parseInt("abc") // NaN을 반환합니다.
parseInt("12abc") // 12를 반환합니다.