RangeError: radix must be an integer

๋ฉ”์‹œ์ง€

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)

์—๋Ÿฌ ํ˜•์‹

RangeError

๋ฌด์—‡์ด ์ž˜๋ชป๋˜์—ˆ์„๊นŒ?

Number.prototype.toString() ๋ฉ”์†Œ๋“œ๋Š” ์„ ํƒ์  ํŒŒ๋ผ๋ฉ”ํ„ฐ์ธ radix(๊ธฐ์ˆ˜:์ง„์ˆ˜๋ฅผ ์ง€์ •ํ•˜๋Š” ๊ฐ’)์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ๋˜์–ด ์™”์Šต๋‹ˆ๋‹ค. ์ด ํŒŒ๋ผ๋ฉ”ํ„ฐ๋Š” ๋ฐ˜๋“œ์‹œ ์ˆ˜์˜ ๊ฐ’์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ง„๋ฒ•์˜ 2์™€ 36 ์‚ฌ์ด๋กœ ์ง€์ •๋œ ์ •์ˆ˜(์ˆซ์ž)์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค. 

์™œ 36์œผ๋กœ ์ œํ•œ์ด ๋˜์—ˆ์„๊นŒ์š”? radix๋Š” digit(๋ฐ‘๊ธฐ์ˆ˜) ์•ŒํŒŒ๋ฒณ ๊ธ€์ž๋กœ ์‚ฌ์šฉ๋˜๋Š” 10๋ณด๋‹ค๋Š” ํฝ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์—, radix๋Š” ๋ผํ‹ด ์•ŒํŒŒ๋ฒณ 26๊ธ€์ž๋ฅผ ๊ฐ€์กŒ์„ ๋•Œ, 36๋ณด๋‹ค ํด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.  

๋ณดํ†ต ์•„๋ž˜์˜ radix ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์˜ˆ

ํ—ˆ์šฉ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ

(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์ง„์ˆ˜)

์ฐธ์กฐ