我在使用php数组进行数学运算时遇到问题
我用两个这样的数组进行数学计算我在使用php数组进行数学运算时遇到问题,php,math,floating-point-precision,Php,Math,Floating Point Precision,我用两个这样的数组进行数学计算 array(3) { [0]=> float(0,495612636) [1]=> float(0,573028659) [2]=> float(0,51689863) } array(3) { [0]=> float(0.50438736437759) [1]=> float(0.42697134123315) [2]=> float(0.48310136995931) } $d_positif array(3) { [0
array(3) { [0]=> float(0,495612636) [1]=> float(0,573028659) [2]=> float(0,51689863) }
array(3) { [0]=> float(0.50438736437759) [1]=> float(0.42697134123315) [2]=> float(0.48310136995931) }
$d_positif
array(3) { [0]=> float(2.7742631687417) [1]=> float(2.5949809043991) [2]=> float(3.0174025996932) }
$d_
array(3) { [0]=> float(2.7259998526469) [1]=> float(3.4826656582587) [2]=> float(3.2284968891602) }
我有公式
$count = count($d_positif);
for ($i = 0; $i < $count; $i++) {
$v[$i] = $d_positif[$i] / ($d_negatif[$i] + $d_positif[$i]);
}
但是像这样的数学运算的输出
array(3) { [0]=> float(0,495612636) [1]=> float(0,573028659) [2]=> float(0,51689863) }
array(3) { [0]=> float(0.50438736437759) [1]=> float(0.42697134123315) [2]=> float(0.48310136995931) }
有人能帮我解释为什么会这样吗?您期望的输出实际上是
$v[$i] = $d_negatif[$i] / ($d_negatif[$i] + $d_positif[$i]);
不是
我将您的第一次计算结果(2.7742631687417/(2.7742631687417+2.7259998526469))输入windows计算器,我得到的结果与您得到的结果完全一致(050438736437758711142967896416502),但不是预期的结果。告诉我你的预期结果可能有误。你为什么期待你的结果?这是以前的计算结果吗?这个星球上的每个PHP版本都计算您得到的结果,而不是您期望的结果: