exp() 函数返回 e 的 num 次方的值,其中 e 是自然对数的底数(约等于 2.71828182845904523536)。
exp(float $num): float
| 参数 | 描述 |
|---|---|
num |
必需。规定指数的幂次。 |
返回 e 的 num 次方的值(浮点数)。
<?php
echo exp(0) . "<br>"; // 1
echo exp(1) . "<br>"; // 约 2.718281828459 (e)
echo exp(2) . "<br>"; // 约 7.3890560989307 (e²)
echo exp(-1) . "<br>"; // 约 0.36787944117144 (1/e)
?>
输出:
1
2.718281828459
7.3890560989307
0.36787944117144
<?php
// 对于很大的正数,exp() 可能返回 INF(无穷大)
$large = 1000;
$result = exp($large);
if (is_infinite($result)) {
echo "exp($large) 结果溢出,返回 INF";
} else {
echo "exp($large) = $result";
}
?>
输出:
exp(1000) 结果溢出,返回 INF
<?php
// 连续复利公式 A = P * e^(rt)
function compoundInterestContinuous($principal, $rate, $time) {
return $principal * exp($rate * $time);
}
$principal = 1000; // 本金
$rate = 0.05; // 年利率 5%
$time = 3; // 3 年
$amount = compoundInterestContinuous($principal, $rate, $time);
echo "本金 $principal,连续复利 $rate,$time 年后本息和为:" . round($amount, 2);
?>
输出:
本金 1000,连续复利 0.05,3 年后本息和为:1161.83
num 太大时,结果可能溢出并返回 INF(无穷大)。溢出阈值取决于平台(通常 num > 709 会导致双精度浮点数溢出)。