현재 번역은 완벽하지 않습니다. 한국어로 문서 번역에 동참해주세요.
메시지
RangeError: radix must be an integer at least 2 and no greater than 36 (Firefox) RangeError: toString() radix argument must be between 2 and 36 (Chrome)
에러 형식
무엇이 잘못되었을까?
Number.prototype.toString()
메소드는 선택적 파라메터인 radix
(기수:진수를 지정하는 값)와 함께 사용되어 왔습니다. 이 파라메터는 반드시 수의 값을 나타내는 진법의 2와 36 사이로 지정된 정수(숫자)여야 합니다.
왜 36으로 제한이 되었을까요? radix
는 digit(밑기수) 알파벳 글자로 사용되는 10보다는 큽니다. 그렇기 때문에, radix
는 라틴 알파벳 26글자를 가졌을 때, 36보다 클 수 없습니다.
보통 아래의 radix
중 하나를 사용하게 될 것입니다.
- 2 for binary numbers (2진수),
- 8 for octal numbers (8진수),
- 10 for decimal numbers (10진수),
- 16 for hexadecimal numbers (16진수).
예
허용되지 않는 경우
(42).toString(0); (42).toString(1); (42).toString(37); (42).toString(150); //포맷팅하기 위해 string을 이런 식으로 사용할 수는 없습니다. : (12071989).toString("MM-dd-yyyy");
허용된 경우
(42).toString(2); // "101010" (2진수) (13).toString(8); // "15" (8진수) (0x42).toString(10); // "66" (10진수) (100000).toString(16) // "186a0" (16진수)