Math : méthode statique expm1()
Baseline
Large disponibilité
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
La méthode statique Math.expm1() retourne e élevé à la puissance d'un nombre, moins 1. C'est-à-dire
Exemple interactif
console.log(Math.expm1(0));
// Sortie attendue : 0
console.log(Math.expm1(1));
// Sortie attendue : 1.718281828459045
console.log(Math.expm1(-1));
// Sortie attendue : -0.6321205588285577
console.log(Math.expm1(2));
// Sortie attendue : 6.38905609893065
Syntaxe
Math.expm1(x)
Paramètres
x-
Un nombre.
Valeur de retour
Un nombre représentant ex - 1, où e est la base du logarithme naturel.
Description
Pour des très petites valeurs de x, l'ajout de 1 peut réduire ou éliminer la précision. Les nombres à virgule flottante de type double utilisés en JavaScript offrent une précision d'environ 15 chiffres. 1 + 1e-15 = 1.000000000000001, mais 1 + 1e-16 = 1.000000000000000 et donc exactement 1,0 dans ce calcul, car les chiffres au-delà du 15e sont arrondis.
Lorsque vous calculez , où x est un nombre très proche de 0, vous devez obtenir un résultat très proche de 1 + x car : . Si vous calculez Math.exp(1.1111111111e-15) - 1, vous obtenez une réponse proche de 1.1111111111e-15. Or, comme le chiffre significatif le plus élevé du résultat de Math.exp est le chiffre des unités 1, la valeur finale s'établit à 1.1102230246251565e-15, avec seulement 3 chiffres corrects. Si vous calculez plutôt Math.expm1(1.1111111111e-15), vous obtenez une réponse bien plus précise, 1.1111111111000007e-15, avec 11 chiffres corrects de précision.
Comme expm1() est une méthode statique de Math, vous l'utilisez toujours sous la forme Math.expm1(), plutôt que comme une méthode d'un objet Math que vous avez créé (Math n'est pas un constructeur).
Exemple
>Utiliser Math.expm1()
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
Spécifications
| Spécification |
|---|
| ECMAScript® 2027 Language Specification> # sec-math.expm1> |
Compatibilité des navigateurs
Voir aussi
- La prothèse d'émulation de
Math.expm1danscore-js(angl.) - La propriété statique
Math.E - La méthode statique
Math.exp() - La méthode statique
Math.log() - La méthode statique
Math.log10() - La méthode statique
Math.log1p() - La méthode statique
Math.log2() - La méthode statique
Math.pow()