Baseline Widely available
ФÑнкÑÐ¸Ñ parseInt()
пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ ÑÑÑÐ¾ÐºÑ Ð² каÑеÑÑве аÑгÑменÑа и возвÑаÑÐ°ÐµÑ Ñелое ÑиÑло в ÑооÑвеÑÑÑвии Ñ ÑказаннÑм оÑнованием ÑиÑÑÐµÐ¼Ñ ÑÑиÑлениÑ.
console.log(parseInt("123"));
// 123 (default base-10)
console.log(parseInt("123", 10));
// 123 (explicitly specify base-10)
console.log(parseInt(" 123 "));
// 123 (whitespace is ignored)
console.log(parseInt("077"));
// 77 (leading zeros are ignored)
console.log(parseInt("1.9"));
// 1 (decimal part is truncated)
console.log(parseInt("ff", 16));
// 255 (lower-case hexadecimal)
console.log(parseInt("0xFF", 16));
// 255 (upper-case hexadecimal with "0x" prefix)
console.log(parseInt("xyz"));
// NaN (input can't be converted to an integer)
СинÑакÑÐ¸Ñ ÐаÑамеÑÑÑ
string
ÐнаÑение, коÑоÑое необÑ
одимо пÑоинÑеÑпÑеÑиÑоваÑÑ. ÐÑли знаÑение паÑамеÑÑа string
не пÑÐ¸Ð½Ð°Ð´Ð»ÐµÐ¶Ð¸Ñ ÑÑÑÐ¾ÐºÐ¾Ð²Ð¾Ð¼Ñ ÑипÑ, оно пÑеобÑазÑеÑÑÑ Ð² него (Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð°Ð±ÑÑÑакÑной опеÑаÑии ToString
). ÐÑÐ¾Ð±ÐµÐ»Ñ Ð² наÑале ÑÑÑоки не ÑÑиÑÑваÑÑÑÑ.
radix
Целое ÑиÑло в диапазоне Ð¼ÐµÐ¶Ð´Ñ 2 и 36, пÑедÑÑавлÑÑÑее Ñобой оÑнование ÑиÑÑÐµÐ¼Ñ ÑÑиÑÐ»ÐµÐ½Ð¸Ñ ÑиÑловой ÑÑÑоки string
, опиÑанной вÑÑе. РоÑновном полÑзоваÑели иÑполÑзÑÑÑ Ð´ÐµÑÑÑиÑнÑÑ ÑиÑÑÐµÐ¼Ñ ÑÑиÑÐ»ÐµÐ½Ð¸Ñ Ð¸ ÑказÑваÑÑ 10. ÐÑегда ÑказÑвайÑе ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ, ÑÑÐ¾Ð±Ñ Ð¸ÑклÑÑиÑÑ Ð¾Ñибки ÑÑиÑÑÐ²Ð°Ð½Ð¸Ñ Ð¸ гаÑанÑиÑоваÑÑ ÐºÐ¾ÑÑекÑноÑÑÑ Ð¸ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¸ пÑедÑказÑемоÑÑÑ ÑезÑлÑÑаÑа. Ðогда оÑнование ÑиÑÑÐµÐ¼Ñ ÑÑиÑÐ»ÐµÐ½Ð¸Ñ Ð½Ðµ Ñказано, ÑазнÑе ÑеализаÑии могÑÑ Ð²Ð¾Ð·Ð²ÑаÑаÑÑ ÑазнÑе ÑезÑлÑÑаÑÑ.
Целое ÑиÑло, полÑÑенное паÑÑингом (ÑазбоÑом и инÑеÑпÑеÑаÑией) пеÑеданной ÑÑÑоки. ÐÑли пеÑвÑй Ñимвол не полÑÑилоÑÑ ÑконвеÑÑиÑоваÑÑ Ð² ÑиÑло, Ñо возвÑаÑаеÑÑÑ NaN
.
ФÑнкÑÐ¸Ñ parseInt
пÑеобÑазÑÐµÑ Ð¿ÐµÑвÑй пеÑеданнÑй ей аÑгÑÐ¼ÐµÐ½Ñ Ð² ÑÑÑоковÑй Ñип, инÑеÑпÑеÑиÑÑÐµÑ ÐµÐ³Ð¾ и возвÑаÑÐ°ÐµÑ Ñелое ÑиÑло или знаÑение NaN
. РезÑлÑÑÐ°Ñ (еÑли не NaN
) ÑвлÑеÑÑÑ ÑелÑм ÑиÑлом и пÑедÑÑавлÑÐµÑ Ñобой пеÑвÑй аÑгÑÐ¼ÐµÐ½Ñ (string
), ÑаÑÑмаÑÑиваÑÑийÑÑ ÐºÐ°Ðº ÑиÑло в Ñказанной ÑиÑÑеме ÑÑиÑÐ»ÐµÐ½Ð¸Ñ (radix
). ÐапÑимеÑ, оÑнование 10 ÑказÑÐ²Ð°ÐµÑ Ð½Ð° пÑеобÑазование из деÑÑÑиÑного ÑиÑла, 8 - воÑÑмеÑиÑного, 16 - ÑеÑÑнадÑаÑеÑиÑного и Ñак далее. ÐÑли оÑнование болÑÑе 10
, Ñо Ð´Ð»Ñ Ð¾Ð±Ð¾Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ ÑиÑÑ Ð±Ð¾Ð»ÑÑе 9
иÑполÑзÑÑÑÑÑ Ð±ÑквÑ. ÐапÑимеÑ, Ð´Ð»Ñ ÑеÑÑнадÑаÑеÑиÑнÑÑ
ÑиÑел (оÑнование 16) иÑполÑзÑÑÑÑÑ Ð±ÑÐºÐ²Ñ Ð¾Ñ A
до F
.
ÐÑли ÑÑнкÑÐ¸Ñ parseInt
вÑÑÑеÑÐ°ÐµÑ Ñимвол, не ÑвлÑÑÑийÑÑ ÑиÑлом в Ñказанной ÑиÑÑеме ÑÑиÑлениÑ, она пÑопÑÑÐºÐ°ÐµÑ ÑÑÐ¾Ñ Ð¸ вÑе поÑледÑÑÑие ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ (даже, еÑли они подÑ
одÑÑие) и возвÑаÑÐ°ÐµÑ Ñелое ÑиÑло, пÑеобÑазованное из ÑаÑÑи ÑÑÑоки, пÑедÑеÑÑвовавÑей ÑÑÐ¾Ð¼Ñ ÑимволÑ. parseInt
оÑÑÐµÐºÐ°ÐµÑ Ð´ÑобнÑÑ ÑаÑÑÑ ÑиÑла. ÐÑÐ¾Ð±ÐµÐ»Ñ Ð² наÑале и конÑе ÑÑÑоки ÑазÑеÑенÑ.
Так как некоÑоÑÑе ÑиÑла вклÑÑаÑÑ Ñимвол e
в ÑвоÑм ÑÑÑоковом пÑедÑÑавлении (напÑимеÑ, 6.022e23
), Ñо иÑполÑзование parseInt
Ð´Ð»Ñ ÑÑеÑÐµÐ½Ð¸Ñ ÑиÑловÑÑ
знаÑений Ð¼Ð¾Ð¶ÐµÑ Ð´Ð°ÑÑ Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ñе ÑезÑлÑÑаÑÑ, когда иÑполÑзÑÑÑÑÑ Ð¾ÑÐµÐ½Ñ Ð¼Ð°Ð»Ñе или оÑÐµÐ½Ñ Ð±Ð¾Ð»ÑÑие велиÑинÑ. parseInt
не должна иÑполÑзоваÑÑÑÑ ÐºÐ°Ðº замена Ð´Ð»Ñ Math.floor()
.
ÐÑли оÑнование ÑиÑÑÐµÐ¼Ñ ÑÑиÑÐ»ÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÐµÑ Ð·Ð½Ð°Ñение undefined
(не опÑеделено) или Ñавно 0 (или не Ñказано), Ñо JavaScript по ÑмолÑÐ°Ð½Ð¸Ñ Ð¿ÑÐµÐ´Ð¿Ð¾Ð»Ð°Ð³Ð°ÐµÑ ÑледÑÑÑее:
string
наÑинаеÑÑÑ Ñ "0x
" или "0X
", за оÑнование ÑиÑÑÐµÐ¼Ñ ÑÑиÑÐ»ÐµÐ½Ð¸Ñ Ð¿ÑинимаеÑÑÑ 16, и инÑеÑпÑеÑаÑии подвеÑгаеÑÑÑ Ð¾ÑÑавÑаÑÑÑ ÑаÑÑÑ ÑÑÑоки.string
наÑинаеÑÑÑ Ñ "0", за оÑнование ÑиÑÑÐµÐ¼Ñ ÑÑиÑÐ»ÐµÐ½Ð¸Ñ Ð¿ÑинимаеÑÑÑ Ð»Ð¸Ð±Ð¾ 8, либо 10, в завиÑимоÑÑи Ð¾Ñ ÐºÐ¾Ð½ÐºÑеÑной ÑеализаÑии. Ð ÑпеÑиÑикаÑии ECMAScript 5 пÑопиÑано иÑполÑзование 10 (деÑÑÑиÑÐ½Ð°Ñ ÑиÑÑема), но ÑÑо поддеÑживаеÑÑÑ ÐµÑÑ Ð½Ðµ вÑеми бÑаÑзеÑами, поÑÑÐ¾Ð¼Ñ Ð½ÐµÐ¾Ð±Ñ
одимо вÑегда ÑказÑваÑÑ Ð¾Ñнование ÑиÑÑÐµÐ¼Ñ ÑÑиÑÐ»ÐµÐ½Ð¸Ñ Ð¿Ñи иÑполÑзовании ÑÑнкÑии parseInt
.string
наÑинаеÑÑÑ Ñ Ð»Ñбого дÑÑгого Ñимвола, ÑиÑÑема ÑÑиÑÐ»ÐµÐ½Ð¸Ñ ÑÑиÑаеÑÑÑ Ð´ÐµÑÑÑиÑной (оÑнование 10).ÐÑли пеÑвÑй Ñимвол ÑÑÑоки не Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿ÑеобÑазован в ÑиÑло, parseInt
возвÑаÑÐ°ÐµÑ Ð·Ð½Ð°Ñение NaN
.
С ÑоÑки зÑÐµÐ½Ð¸Ñ Ð¼Ð°ÑемаÑики, знаÑение NaN
не ÑвлÑеÑÑÑ ÑиÑлом в какой-либо ÑиÑÑеме ÑÑиÑлениÑ. ЧÑÐ¾Ð±Ñ Ð¾Ð¿ÑеделиÑÑ, веÑнÑÑ Ð»Ð¸ parseInt
знаÑение NaN
в каÑеÑÑве ÑезÑлÑÑаÑа, можно вÑзваÑÑ ÑÑнкÑÐ¸Ñ isNaN
. ÐÑли NaN
ÑÑаÑÑвÑÐµÑ Ð² аÑиÑмеÑиÑеÑкиÑ
опеÑаÑиÑÑ
, ÑезÑлÑÑаÑом Ñакже бÑÐ´ÐµÑ NaN
.
ÐÐ»Ñ Ð¿ÑеобÑÐ°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑиÑла в ÑÑÑÐ¾ÐºÑ Ð² Ñказанной ÑиÑÑеме ÑÑиÑлениÑ, иÑполÑзÑйÑе intValue.toString(radix)
.
parseInt
ÐÑе ÑледÑÑÑие пÑимеÑÑ Ð²Ð¾Ð·Ð²ÑаÑаÑÑ 15
:
parseInt(" 0xF", 16);
parseInt(" F", 16);
parseInt("17", 8);
parseInt(021, 8);
parseInt("015", 10); //parseInt(015, 10); веÑнÑÑ 15
parseInt(15.99, 10);
parseInt("FXX123", 16);
parseInt("1111", 2);
parseInt("15*3", 10);
parseInt("15e2", 10);
parseInt("15px", 10);
parseInt("12", 13);
ÐÑе ÑледÑÑÑие пÑимеÑÑ Ð²Ð¾Ð·Ð²ÑаÑаÑÑ NaN
:
parseInt("Hello", 8); // Ðе ÑвлÑеÑÑÑ ÑиÑлом
parseInt("546", 2); // ÐевеÑное ÑиÑло в двоиÑной ÑиÑÑеме ÑÑиÑлениÑ
ÐÑе ÑледÑÑÑие пÑимеÑÑ Ð²Ð¾Ð·Ð²ÑаÑаÑÑ -15
:
parseInt("-F", 16);
parseInt("-0F", 16);
parseInt("-0XF", 16);
parseInt(-15.1, 10);
parseInt(" -17", 8);
parseInt(" -15", 10);
parseInt("-1111", 2);
parseInt("-15e1", 10);
parseInt("-12", 13);
ÐÑе ÑледÑÑÑие пÑимеÑÑ Ð²Ð¾Ð·Ð²ÑаÑаÑÑ 4
:
parseInt(4.7, 10);
parseInt(4.7 * 1e22, 10); // ÐÑÐµÐ½Ñ Ð±Ð¾Ð»ÑÑие ÑиÑла ÑÑановÑÑÑÑ 4
parseInt(0.00000000000434, 10); // ÐÑÐµÐ½Ñ Ð¼Ð°Ð»ÐµÐ½Ñкие ÑиÑла ÑÑановÑÑÑÑ 4
СледÑÑÑий пÑÐ¸Ð¼ÐµÑ Ð²Ð¾Ð·Ð²ÑаÑÐ°ÐµÑ 224
:
ХоÑÑ ÑÑо не пооÑÑÑеÑÑÑ Ð² ÑпеÑиÑикаÑией ECMAScript 3 и запÑеÑено в ECMAScript 5, многие ÑеализаÑии инÑеÑпÑеÑиÑÑÑÑ ÑиÑловÑÑ ÑÑÑокÑ, наÑинаÑÑÑÑÑÑ Ñ 0
, как воÑÑмеÑиÑнÑÑ. СледÑÑÑий пÑÐ¸Ð¼ÐµÑ Ð¼Ð¾Ð¶ÐµÑ Ð¸Ð¼ÐµÑÑ ÐºÐ°Ðº воÑÑмеÑиÑнÑй, Ñак и деÑÑÑиÑнÑй ÑезÑлÑÑаÑ. ЧÑÐ¾Ð±Ñ Ð¸Ð·Ð±ÐµÐ¶Ð°ÑÑ Ð½ÐµÐ¿Ñедвиденного ÑезÑлÑÑаÑа, вÑегда ÑказÑвайÑе оÑнование ÑиÑÑÐµÐ¼Ñ ÑÑиÑлениÑ.
parseInt("0e0"); // 0
parseInt("08"); // 0, '8' не ÑвлÑеÑÑÑ ÑиÑÑой в воÑÑмеÑиÑной ÑиÑÑеме.
ECMAScript 5 ÑÑÑÑанÑÐµÑ Ð²Ð¾ÑÑмеÑиÑнÑÑ Ð¸Ð½ÑеÑпÑеÑаÑиÑ
СпеÑиÑикаÑÐ¸Ñ ECMAScript 5 ÑÑнкÑии parseInt
болÑÑе не ÑазÑеÑÐ°ÐµÑ ÑÑакÑоваÑÑ Ð² воÑÑмеÑиÑной ÑиÑÑеме ÑÑиÑÐ»ÐµÐ½Ð¸Ñ ÑÑÑоки, наÑинаÑÑиеÑÑ Ñ 0
. ECMAScript 5 пÑовозглаÑаеÑ:
ФÑнкÑÐ¸Ñ parseInt
пÑÐ¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ ÑелоÑиÑленное знаÑение в ÑезÑлÑÑаÑе инÑеÑпÑеÑаÑии ÑодеÑжимого ÑÑÑокового аÑгÑменÑа в ÑооÑвеÑÑÑвии Ñ ÑказаннÑм оÑнованием ÑиÑÑÐµÐ¼Ñ ÑÑиÑлениÑ. ÐÑобел в наÑале ÑÑÑоки не ÑÑиÑÑваеÑÑÑ. ÐÑли оÑнование ÑиÑÑÐµÐ¼Ñ ÑÑиÑÐ»ÐµÐ½Ð¸Ñ Ð½Ðµ опÑеделено или Ñавно 0
, оно ÑÑиÑаеÑÑÑ ÑавнÑм 10
, за иÑклÑÑением ÑлÑÑаев, когда ÑÑÑока наÑинаеÑÑÑ Ñ Ð¿Ð°Ñ Ñимволов 0x
или 0X
: Ñогда за оÑнование пÑинимаеÑÑÑ 16. ÐÑли оÑнованием ÑиÑÑÐµÐ¼Ñ ÑÑиÑÐ»ÐµÐ½Ð¸Ñ Ñказано 16
, ÑиÑло Ñакже Ð¼Ð¾Ð¶ÐµÑ Ð½Ð°ÑинаÑÑÑÑ Ñ Ð¿Ð°Ñ Ñимволов 0x
или 0X
.
Ð ÑÑом ECMAScript 5 ÑаÑÑ Ð¾Ð´Ð¸ÑÑÑ Ñо ÑпеÑиÑикаÑией ECMAScript 3, в коÑоÑой воÑÑмеÑиÑÐ½Ð°Ñ Ð¸Ð½ÑеÑпÑеÑаÑÐ¸Ñ Ð½Ðµ пооÑÑÑлаÑÑ, но и не бÑла запÑеÑена.
ÐоÑколÑÐºÑ Ð½Ð° Ð¼Ð¾Ð¼ÐµÐ½Ñ 2013 года опиÑанное вÑÑе поведение бÑло пÑименено не во вÑÐµÑ ÑеализаÑиÑÑ , а поддеÑжка ÑÑаÑÑÑ Ð±ÑаÑзеÑов ÑвлÑеÑÑÑ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾Ð¹, вÑегда ÑказÑвайÑе оÑнование ÑиÑÑÐµÐ¼Ñ ÑÑиÑлениÑ.
Ðолее ÑÑÑÐ¾Ð³Ð°Ñ ÑÑнкÑÐ¸Ñ Ð¸Ð½ÑеÑпÑеÑаÑииÐногда Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼ более ÑÑÑогий ÑпоÑоб инÑеÑпÑеÑаÑии ÑелоÑиÑленнÑÑ Ð·Ð½Ð°Ñений. Ð ÑÑом могÑÑ Ð¿Ð¾Ð¼Ð¾ÑÑ ÑегÑлÑÑнÑе вÑÑажениÑ:
var filterInt = function (value) {
if (/^(\-|\+)?([0-9]+|Infinity)$/.test(value)) return Number(value);
return NaN;
};
console.log(filterInt("421")); // 421
console.log(filterInt("-421")); // -421
console.log(filterInt("+421")); // 421
console.log(filterInt("Infinity")); // Infinity
console.log(filterInt("421e+0")); // NaN
console.log(filterInt("421hop")); // NaN
console.log(filterInt("hop1.61803398875")); // NaN
console.log(filterInt("1.61803398875")); // NaN
СпеÑиÑикаÑии СовмеÑÑимоÑÑÑ Ñ Ð±ÑаÑзеÑами СмоÑÑиÑе Ñакже
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4