Baseline Widely available
Die toFixed()
-Methode von Number
-Werten gibt eine Zeichenkette zurück, die diese Zahl unter Verwendung der Festkomma-Darstellung mit der angegebenen Anzahl von Dezimalstellen darstellt.
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"
Syntax
toFixed()
toFixed(digits)
Parameter
digits
Optional
Die Anzahl der Ziffern, die nach dem Dezimalpunkt erscheinen sollen; sollte ein Wert zwischen 0
und 100
sein, einschlieÃlich. Wenn dieses Argument weggelassen wird, wird es als 0
behandelt.
Eine Zeichenkette, die die gegebene Zahl unter Verwendung der Festkomma-Darstellung darstellt. Wissenschaftliche Notation wird verwendet, wenn der Betrag der Zahl (ohne Vorzeichen) gröÃer oder gleich 1021 ist (gleicher Rückgabewert wie Number.prototype.toString()
).
RangeError
Wird ausgelöst, wenn digits
nicht zwischen 0
und 100
(einschlieÃlich) liegt.
TypeError
Wird ausgelöst, wenn diese Methode auf einem Objekt aufgerufen wird, das kein Number
ist.
Die toFixed()
-Methode gibt eine Zeichenketten-Darstellung einer Zahl zurück, die keine exponentielle Notation verwendet und genau digits
Ziffern nach dem Dezimalpunkt hat. Die Zahl wird bei Bedarf gerundet, und der Bruchteil ist bei Bedarf mit Nullen aufgefüllt, sodass er die angegebene Länge hat.
Wenn der absolute Wert der Zahl gröÃer oder gleich 1021 ist, verwendet diese Methode den gleichen Algorithmus wie Number.prototype.toString()
und gibt eine Zeichenkette in Exponentialdarstellung zurück. toFixed()
gibt "Infinity"
, "NaN"
oder "-Infinity"
zurück, wenn der Wert der Zahl nicht endlich ist.
Die Ausgabe von toFixed()
kann für einige Werte präziser sein als toString()
, da toString()
nur genügend signifikante Ziffern ausdruckt, um die Zahl von angrenzenden Zahlenwerten zu unterscheiden. Zum Beispiel:
(1000000000000000128).toString(); // '1000000000000000100'
(1000000000000000128).toFixed(0); // '1000000000000000128'
Jedoch kann die Wahl einer zu hohen digits
-Präzision unerwartete Ergebnisse liefern, da Dezimalbrüche im Gleitkomma nicht genau dargestellt werden können. Zum Beispiel:
(0.3).toFixed(50); // '0.29999999999999998889776975374843459576368331909180'
Beispiele Verwendung von 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
Verwendung von toFixed() mit negativen Zahlen
Da der Memberzugriff eine höhere Priorität als das unäre Minus hat, müssen Sie den Ausdruck für die negative Zahl gruppieren, um eine Zeichenkette zu erhalten.
-2.34.toFixed(1); // -2.3; a number
(-2.34).toFixed(1); // '-2.3'
Spezifikationen Browser-Kompatibilität Siehe auch
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