Ядро JavaScript 1.5. Справочник

       

ToFixed


Возвращает строку, представляющую объект Number в нотации с фиксированной точкой.

Метод из Реализован в

JavaScript 1.5

Версия ECMAECMA-262, Edition 3


Синтаксис

toFixed([fractionDigits])

Параметр

fractionDigits

Целое, специфицирующее количество цифр после десятичной точки. По умолчанию - нуль.


Описание

Метод Number.prototype.toFixed возвращает строку, представляющую объект Number в нотации с фиксированной точкой, округлённый до количества цифр после десятичной точки, специфицированного fractionDigits..

Вывод toFixed может быть более точным, чем toString

для некоторых значений, поскольку toString

выводит только несколько значащих цифр, достаточных для отличения числа от соседних числовых значений.

Если число содержит больше цифр, чем специфицировано параметром fractionDigits , оно округляется до ближайшего числа, представляемого цифрами fractionDigits. Если число расположено точно посередине между двумя представимыми числами, оно округляется в сторону от нуля (в сторону увеличения - если оно положительное, в сторону уменьшения - если отрицательное). Таким образом:

  0.124.toFixed(2) возвращает "0.12"

0.125.tofixed(2) возвращает "0.13", поскольку 0.125 это точно посередине между 0.12 и 0.13

0.126.tofixed(2) возвращает "0.13".

Следуя данному соглашению, можно ожидать, что 0.045.toFixed(2)

возвратит  "0.05", но оно возвращает "0.04". Это происходит из-за того способа представления компьютером чисел с плавающей точкой IEEE 754. Стандарт IEEE 754 использует двоичные дроби (доли нуля и единицы после точки). Так же, как некоторые числа, такие как 1/3, не представляются точно десятичными дробями, другие числа, как 0.045, не представляются точно двоичными дробями. Стандарт IEEE 754 диктует, что 0.045 приближается до числа 0.04499999999999999833466546306226518936455249786376953125, которое может быть точно представлено как двоичная дробь. Это приближение ближе к 0.04, чем к 0.05, поэтому 0.045.toFixed(2) возвращает "0.04".

Примеры

var num=10.1234

alert("num.toFixed()  is " + num.toFixed())  //выводит  10

alert("num.toFixed(4) is " + num.toFixed(4)) //выводит

 10.1234  alert("num.toFixed(2) is " + num.toFixed(2)) //выводит  10.12

См. также

, ,

/



Содержание раздела