我已經寫了一段代碼進行二次方程:PHP SQRT()返回NAN
function quadratic($a,$b,$c) {
$mb = $b - ($b*2);
$bs = $b * $b;
$fac = ($a * $c) * 4;
$ans1 = ($mb + sqrt(($bs - $fac)))/(2 * $a);
$ans2 = ($mb - sqrt(($bs - $fac)))/(2 * $a);
echo ("Your <b>+</b> value is: " . $ans1 . "<br />");
echo ("Your <b>-</b> value is: " . $ans2);
}
的問題是,如果例如α= 2,B = 4,C = 8 ,兩個答案都輸出爲NAN。任何想法如何解決這個問題,讓我得到一個實際的數字輸出?
'if($ bsfac <0){$ bsfac * = -1;}'相當於'abs($ bsfac)',或者在這種情況下,'abs($ bs - $ fac)' – 2012-03-07 19:35:02
函數應該以某種方式表明解決方案是複數,否則它是不正確的 – thumbmunkeys 2012-03-08 10:51:07