преобразует число в строку, учитывая количество заданных значащих разрядов. Если заданное количество значащих разрядов оказывается недостаточным для отображения всей целой части числа, преобразование выполняется в экспоненциальной форме. Обратите внимание, что все три метода округляют последние цифры или добавляют нули, если это необходимо. Взгляните на следующие примеры:
>var п = 123456.789;
>n.toFixed(0); // ”123457"
>n.toFixed(2); // "123456.79"
>n.toFixed(5); // "123456.78900"
>n.toExponential(1); // "1.2e+5"
>n.toExponential(3); // "1.235Є+5"
>n.toPrecision(4); // "1.235e+5"
> n.toPrecision(7); // "123456.8"
>n.toPrecision(IO);// "123456.7890"
Если передать строку функции преобразования >Number()
, она попытается разобрать эту строку как литерал целого или вещественного числа. Эта функция работает только с десятичными целыми числами и не допускает наличие в строке завершающих символов, не являющихся частью литерала числа. Функции >parseInt()
и>parseFloat()
(это глобальные функции, а не методы какого-либо класса) являются более гибкими. Функция >parseInt()
анализирует только целые числа, тогда как функция >parseFloat()
позволяет анализировать строки, представляющие и целые, и вещественные числа. Если строка начинается с последовательности «Ох» или «ОХ», функция >parseInt()
интерпретирует ее как представление шестнадцатеричного числа.[2] Обе функции, >parseInt() и parseFloat()
, пропускают начальные пробельные символы, пытаются разобрать максимально возможное количество символов числа и игнорируют все, что следует за ними. Если первый непробельный символ строки не является частью допустимого числового литерала, эти функции возвращают значение >NaN
:
>parseInt("3 blind mice") // => 3
>parseFloat("3.14 meters") // => 3.14
>parseInt("-12.34") // => -12
>parseInt("0xff") // => 255
>parseInt("0xFF") // => 255
>parseInt("-0xFF") // => -255
>parseFloat(".1") // => 0.1
>parseInt("0.1") // => 0
>parseInt(".1") // => NaN: целые числа не могут начинаться с "."
>parseFloat("$72.47"); // => NaN: числа не могут начинаться с "$"
Функция >parseInt()
принимает второй необязательный аргумент, определяющий основание системы счисления для разбираемого числа. Допустимыми являются значения от 2 до 36. Например:
>parselnt("11", 2); // => 3 (1*2 + 1)
>parselnt("ff”, 16); // => 255 (15*16 + 15)
>parselnt("zz", 36); // => 1295 (35*36 + 35)
>parselnt("077", 8); // => 63 (7*8 + 7)
>parselnt("077", 10) // => 77 (7*10 + 7)
3.8.3. Преобразование объектов в простые значения
Преобразование объектов в логические значения выполняется очень просто: все объекты (включая массивы и функции) преобразуются в значение true. Это справедливо и для объектов-оберток: результатом вызова new Boolean (false) является объект, а не простое значение, поэтому он также преобразуется в значение true.