为什么结果总是整数?

时间:2015-01-18 03:17:55

标签: php

我在PHP中有一个最奇怪的东西。

我有这样的功能:

function Calculate_i_from_IDF($coef, $Tc)
{
    print_r($coef);
    $intensity=$coef[0]+$coef[1]*$Tc+$coef[2]*$Tc^2+$coef[3]*$Tc^3+$coef[4]*$Tc^4;
    echo "intensity=$intensity<P>";
    return $intensity;
}

我的Tc = 1。结果是:

  

数组([0] =&gt; 1.1413387743 [1] =&gt; -0.7177898193 [2] =&gt; 0.6190050656   [3] =&gt; -0.4272211298 [4] =&gt; 0.0813729821)

     

强度= 7

我不明白为什么$intensity是7而不是预期的0.696706。太奇怪了!非常感谢任何帮助。

谢谢,

1 个答案:

答案 0 :(得分:1)

^不是指数运算符,而是位运算符。这可能导致表达式导致整数。试试using pow

相关:Php, calculating exponent with carrot (^) fails