なぜこれが起こるのか、そしてそれを修正できるかどうかは誰にも分かりません。C と PHP の結果を比較していますが、PHP の結果は異なります。
必要に応じてコードを提供できますが、以前にこれを経験した人はいますか?
PHP コード
$tempnum = 1.0e - 5 * -44954; // substr($line1,53,6); $bstar = $tempnum / pow(10.0, 3); $bstar は PHP で -0.00044954 を返しますが、-0.000450 のはずです
Cコード
double tempnum = 1.0e - 5 * -44954; double bstar = tempnum / pow(10.0, 3); printf bstar は私に -0.000450 を与えます
これまでの回答に感謝しますが、PHP はどのようにしてこの結論に達したのでしょうか...
$twopi = 6.28318530717958623; /* 2*パイ */ $xmnpda= 1440; //1.44E3; /* 1 日あたりの分数 */ $temp = (($twopi/$xmnpda)/$xmnpda); $xndt2o = -0.000603; $xndt2o = $xndt2o * $temp; echo $xndt2o は PHP では -1.8256568188E-9 を返しますが、C では -0.000000 を返します
PHPでそれが何であるかはわかりません。