JavaScript. Подробное руководство, 6-е издание (Флэнаган) - страница 49

преобразует число в строку, учитывая количество заданных значащих разрядов. Если заданное количество значащих разрядов оказывается недостаточным для отображения всей целой части числа, преобразование выполняется в экспоненциальной форме. Обратите внимание, что все три метода округляют последние цифры или добавляют нули, если это необходимо. Взгляните на следующие примеры:


>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.