2015-01-18 4 views
-1

У меня есть самая странная вещь в 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; 
} 

My Tc = 1. Результат:

Array ([0] => 1,1413387743 [1] => -0,7177898193 [2] => 0,6190050656 [3] => -0,4272211298 [4] => 0,0813729821)

интенсивность = 7

Я не понимаю, почему $intensity составляет 7 вместо ожидаемого 0,696706. Это так странно! Любая помощь приветствуется.

Спасибо,

Франк

+0

возможно дубликат [Php, вычисляя экспоненту с морковью (^) терпит неудачу] (http://stackoverflow.com/questions/14371386/php-calculating-exponent-with-carrot-fails) – iamnotmaynard

ответ

1

^ не оператор экспонента, а оператор побитовое. Вероятно, это приводит к появлению целого числа. Попробуйте using pow.

Похожие: Php, calculating exponent with carrot (^) fails

+0

Ничего себе. Это так просто! Спасибо огромное! Ты спас свой день. – Frank

+1

@Frank, я рад это слышать. Если это решит вашу проблему, вы можете принять ее как ответ, нажав зеленую галочку. См. Http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – Mitch

+0

Frank. пожалуйста, примите его в качестве ответа. Так много людей получают ответ/помощь, которую они ищут, и не могут признать человека, который им помог. – terary

Смежные вопросы