Math.expm1()
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.
Die statische Methode Math.expm1() gibt e hoch einer Zahl minus 1 zurück. Das heißt:
Probieren Sie es aus
console.log(Math.expm1(0));
// Expected output: 0
console.log(Math.expm1(1));
// Expected output: 1.718281828459045
console.log(Math.expm1(-1));
// Expected output: -0.6321205588285577
console.log(Math.expm1(2));
// Expected output: 6.38905609893065
Syntax
Math.expm1(x)
Parameter
x-
Eine Zahl.
Rückgabewert
Eine Zahl, die ex - 1 darstellt, wobei e die Basis des natürlichen Logarithmus ist.
Beschreibung
Bei sehr kleinen Werten von x kann die Addition von 1 die Genauigkeit verringern oder ganz aufheben. Die in JavaScript verwendeten Gleitkommazahlen mit doppelter Genauigkeit bieten etwa 15 signifikante Dezimalstellen. 1 + 1e-15 = 1.000000000000001, aber 1 + 1e-16 = 1.000000000000000 und damit in dieser Arithmetik exakt 1.0, weil Stellen nach der 15. signifikanten Dezimalstelle weggerundet werden.
Wenn Sie berechnen und x eine Zahl sehr nahe bei 0 ist, sollte das Ergebnis sehr nahe bei 1 + x liegen, denn: . Wenn Sie Math.exp(1.1111111111e-15) - 1 berechnen, sollte das Ergebnis nahe bei 1.1111111111e-15 liegen. Da die höchstwertige Ziffer im Ergebnis von Math.exp jedoch die Einerziffer 1 ist, ergibt sich letztlich 1.1102230246251565e-15 mit nur 3 korrekten Ziffern. Wenn Sie stattdessen Math.expm1(1.1111111111e-15) berechnen, erhalten Sie das wesentlich genauere Ergebnis 1.1111111111000007e-15 mit 11 korrekten Ziffern.
Da expm1() eine statische Methode von Math ist, verwenden Sie sie immer als Math.expm1() und nicht als Methode eines von Ihnen erstellten Math-Objekts (Math ist kein Konstruktor).
Beispiele
>Math.expm1() verwenden
Math.expm1(-Infinity); // -1
Math.expm1(-1); // -0.6321205588285577
Math.expm1(-0); // -0
Math.expm1(0); // 0
Math.expm1(1); // 1.718281828459045
Math.expm1(Infinity); // Infinity
Spezifikationen
| Spezifikation |
|---|
| ECMAScript® 2027 Language Specification> # sec-math.expm1> |