我在Excel中进行了计算,并尝试在PHP中使用它。不幸的是,当我使用函数时,我没有得到正确的总数。
这是我在Excel中使用它的计算:
2500 / (( 0.25 / 100 ) / ( 1 - ( ( 1 + ( 0.25 / 100 )) ^ -360)))
我在PHP中计算的函数:
function calculatesum($income, $interestmonthly, $months){
return $income / (( $interestmonthly / 100 ) / ( 1 - ( ( 1 + ( $interestmonthly / 100 ) ) ^ -$months)));
}
PHP中的函数返回:'360000000'。但这应该是'592.973,4538'。
我想知道我做错了什么。任何提示都将受到欢迎!
已经研究过'pow'功能,但仍然得到了相同的结果。
答案 0 :(得分:3)
Excel使用^
来计算数字的幂。 PHP为此目的使用pow($number, $exponent)
。
function calculatesum($income, $interestmonthly, $months){
return $income / (( $interestmonthly / 100 ) / ( 1 - ( pow(( 1 + ( $interestmonthly / 100 ) ), -$months))));
}
echo calculatesum(2500,0.25,360);
输出:
592973.4537607
有关文档和示例,请参阅http://php.net/manual/en/function.pow.php。
答案 1 :(得分:1)
使用它。 PHP不会使用^来提高功率。您可以使用
提高值的功效**
例如,
2 ** 5将等于2 ^ 5
希望这有帮助。
function calculatesum($income, $interestmonthly, $months){
return $income / (( $interestmonthly / 100 ) / ( 1 - ( ( 1 + ( $interestmonthly / 100 ) ) ** -$months)));
}
答案 2 :(得分:0)
PHP不会将^视为运算符,而是使用另一个函数 pow 。 enter link description here 我认为你需要改变才能获得你想要的价值。
function calculatesum($income, $interestmonthly, $months){
$n1=( $interestmonthly / 100 );
$n2= ( 1 + ( $interestmonthly / 100 ) );
$r1= pow($n2,-$months);
$r2=$n1 / ( 1 - $r1);
return $income /($n1 /$r2);
}