Math.expm1()

基线 广泛可用

此功能已建立良好,并在许多设备和浏览器版本上运行。自 2015 年 7 月.

报告反馈

**Math.expm1()** 静态方法返回 e 的数字次幂,减去 1。即 ( 𝙼𝚊𝚝𝚑.𝚎𝚡𝚙𝚖𝟷 ) = 𝚡 e x 1

试一试

语法

\mathtt{\operatorname{Math.expm1}(x)} = \mathrm{e}^x - 1
Math.expm1(x)

js

e

参数

一个数字。

返回值

描述

一个表示 ex - 1 的数字,其中 e 是 自然对数的底数

对于非常小的 *x* 值,加 1 会减少或消除精度。JS 中使用的双精度浮点数为您提供约 15 位的精度。1 + 1e-15 = 1.000000000000001,但 1 + 1e-16 = 1.000000000000000,因此在该算术中正好为 1.0,因为超过 15 位的数字会被舍入。 𝚡 e 当您计算 \mathrm{e}^x 时,其中 x 是一个非常接近 0 的数字,您应该得到一个非常接近 1 + x 的答案,因为 e lim 0 𝚡 e x 1 e = 1 \lim_{x \to 0} \frac{\mathrm{e}^x - 1}{x} = 1

. 如果您计算 Math.exp(1.1111111111e-15) - 1,您应该得到一个接近 1.1111111111e-15 的答案。相反,由于 Math.exp 的结果中最重要的数字是单位数字 1,因此最终的值变为 1.1102230246251565e-15,只有 3 位数字是正确的。如果您改为计算 Math.exp1m(1.1111111111e-15),您将获得一个更精确的答案,1.1111111111000007e-15,具有 11 位的正确精度数字。

示例

由于 expm1()Math 的静态方法,因此您始终使用 Math.expm1() 来调用它,而不是作为您创建的 Math 对象的方法(Math 不是构造函数)。

\mathtt{\operatorname{Math.expm1}(x)} = \mathrm{e}^x - 1
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

规范

使用 Math.expm1()
规范
# ECMAScript 语言规范

浏览器兼容性

sec-math.expm1

另请参阅