Math

支持浮点小数计算的模块。

模块方法

Math.acos(x)
Math.asin(x)
Math.atan(x)

以弧度返回 x 的反三角函数值。

返回值的范围分别是 [0, +π]、[-π/2, +π/2] 和 (-π/2, +π/2)。

在 acos(x) 和 asin(x) 中,x 之值必须是 -1.0 <= x <= 1 的范围(通常返回 NaN)。

acos() 和 asin() 遇到超出范围的参数,会抛出 Math::DomainError 异常。

Math.atan2(y, x)

返回 [-π, π] 范围内的 y/x 反正切。

Math.acosh(x)
Math.asinh(x)
Math.atanh(x)

返回 x 的反双曲函数值。

asinh(x) = log(x + sqrt(x * x + 1))
acosh(x) = log(x + sqrt(x * x - 1)) [x >= 1]
atanh(x) = log((1+x)/(1-x)) / 2     [-1 < x < 1]

在 acosh(x),x 必须 >= 1(通常会抛出 Math::DomainError 异常)。

在 atanh(x),x 必须在 -1.0 < x < 1 的范围内(通常会抛出 Math::DomainError 异常)。

Math.cos(x)
Math.sin(x)
Math.tan(x)

以弧度制表示 x,返回三角函数值。

Math.cosh(x)
Math.sinh(x)
Math.tanh(x)

返回 x 的双曲函数计算值。

cosh(x) = (exp(x) + exp(-x)) / 2
sinh(x) = (exp(x) - exp(-x)) / 2
tanh(x) = sinh(x) / cosh(x)
Math.erf(x)
Math.erfc(x)

返回 x 的误差函数(erf)、补余误差函数(erfc)值。

Math.exp(x)

返回 x 的指数函数值。

Math.frexp(x)

返回实数 x 的尾数和阶码。

Math.hypot(x, y)

返回 sqrt(x*x + y*y)。

Math.ldexp(x, exp)

返回实数 x 乘以 2 的 exp 次方。

Math.log(x)

返回 x 的自然对数。

x 必须是正值(参数为 0 会返回 -Infinity,参数为负数会抛出 Math::DomainError 异常)。

Math.log10(x)

返回 x 的常用对数。

x 必须是正值(参数为 0 会返回 -Infinity,参数为负数会抛出 Math::DomainError 异常)。

Math.sqrt(x)

返回 x 的平方根。若 x 为负数,抛出 Math::DomainError 异常。

常数

E

自然对数的底数。

p Math::E
# => 2.718281828
PI

圆周率。

p Math::PI
# => 3.141592654