【发布时间】:2009-06-22 19:09:02
【问题描述】:
我正在尝试在 PHP 中计算十进制值数组的总和,但由于某种原因它一直四舍五入为整数。
例如:
$oldArray = array(0.00,1000.11,988.92,978.22,964.01,953.07,948.82,917.26,902.56,913.21,904.08,898.86,892.79);
$myVar = 0.0;
for($k=1;$k<10;$k++)
{
$myVar += $oldArray[$k];
}
print_r($myVar);
$oldArray 实际上是用 SQL 查询中的十进制值填充的($oldarray 的长度大约是几百,但我想要前 10 个。 在上面的例子中,我期望 $myVar 是一个小数,但结果只是一个整数。我尝试在 for 循环之前设置 $myVar = 0.0000,我尝试了 $myVar += $oldArray[$k] + 0.0000 等,但似乎没有任何效果。
我做错了什么?如何将 $myVar 显式设置为小数?
【问题讨论】:
-
您是否将变量的精度设置在某个可能会影响这一点的地方?
-
PHP 数组是基于 0 的。对于($k=0...)。此外,您应该将 $myVar 初始化为高于 for 循环的 0.00。
-
我不想要第零个词。我确实初始化了它,从 0.0 到 0.0000。而且不知道有没有地方可以设置变量的精度。
标签: php floating-point decimal sum