Number.prototype.toFixed()
Базовый уровень Широко доступен
Эта функция хорошо зарекомендовала себя и работает на множестве устройств и версий браузеров. Она доступна во всех браузерах с июля 2015 года.
Метод toFixed() объекта Number возвращает строку, представляющую это число в фиксированной точечной записи с указанным количеством десятичных знаков.
Попробуйте
function financial(x) {
return Number.parseFloat(x).toFixed(2);
}
console.log(financial(123.456));
// Expected output: "123.46"
console.log(financial(0.004));
// Expected output: "0.00"
console.log(financial("1.23e+5"));
// Expected output: "123000.00"
Синтаксис
toFixed() toFixed(digits)
Параметры
-
digitsНеобязательный - Количество цифр, которые должны отображаться после десятичной точки; должно быть значением от
0до100включительно. Если этот аргумент опущен, он обрабатывается как0.
Возвращаемое значение
Строка, представляющая данное число в фиксированной точечной записи. Экспоненциальная запись используется, если абсолютное значение числа (без учета знака) больше или равно 1021 (то же возвращаемое значение, что и у Number.prototype.toString()).
Исключения
-
RangeError - Выбрасывается, если
digitsне находится в диапазоне от0до100(включительно). -
TypeError - Выбрасывается, если этот метод вызывается для объекта, который не является
Number.
Описание
Метод toFixed() возвращает строковое представление числа без использования экспоненциальной записи и ровно с digits цифрами после десятичной точки. Число округляется при необходимости, а дробная часть дополняется нулями при необходимости, чтобы иметь указанную длину.
Если абсолютное значение числа больше или равно 1021, этот метод использует тот же алгоритм, что и Number.prototype.toString(), и возвращает строку в экспоненциальной записи. toFixed() возвращает "Infinity", "NaN" или "-Infinity", если значение числа не является конечным.
Вывод toFixed() может быть более точным, чем у toString() для некоторых значений, поскольку toString() выводит только достаточное количество значащих цифр, чтобы отличить число от соседних числовых значений. Например:
(1000000000000000128).toString(); // '1000000000000000100' (1000000000000000128).toFixed(0); // '1000000000000000128'
Однако выбор digits точности, слишком высокой, может привести к неожиданным результатам, поскольку десятичные дробные числа не могут быть точно представлены в числах с плавающей запятой. Например:
(0.3).toFixed(50); // '0.29999999999999998889776975374843459576368331909180'
Примеры
Использование toFixed()
const numObj = 12345.6789; numObj.toFixed(); // '12346'; rounding, no fractional part numObj.toFixed(1); // '12345.7'; it rounds up numObj.toFixed(6); // '12345.678900'; additional zeros (1.23e20).toFixed(2); // '123000000000000000000.00' (1.23e-10).toFixed(2); // '0.00' (2.34).toFixed(1); // '2.3' (2.35).toFixed(1); // '2.4'; it rounds up (2.55).toFixed(1); // '2.5' // it rounds down as it can't be represented exactly by a float and the // closest representable float is lower (2.449999999999999999).toFixed(1); // '2.5' // it rounds up as it's less than Number.EPSILON away from 2.45. // This literal actually encodes the same number value as 2.45 (6.02 * 10 ** 23).toFixed(50); // '6.019999999999999e+23'; large numbers still use exponential notation
Использование toFixed() с отрицательными числами
Поскольку доступ к членам имеет более высокий приоритет, чем унарный минус, вам необходимо сгруппировать выражение отрицательного числа, чтобы получить строку.
-2.34.toFixed(1); // -2.3; a number (-2.34).toFixed(1); // '-2.3'
Спецификации
Совместимость с браузерами
| Настольные | Мобильные | Серверные | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on iOS | Samsung Internet | WebView Android | WebView on iOS | Bun | Deno | Node.js | |
toFixed |
1 |
12 |
1 |
7 |
2 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
См. также
Number.prototype.toExponential()Number.prototype.toPrecision()Number.prototype.toString()Number.EPSILON
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed