2015-06-01 36 views
2

在我的窗户框,当我运行PHP - bcadd有不同的点位精准

$SR = "0"; 
    $SPR = "149"; 
    $SR = bcadd($SR, $SPR); 
    echo "$SR"; 

它输出149.0000000000

但是,当我相同的代码上传到我的Linux主机,输出149

为什么?

+1

PHP浮点精度取决于操作系统,如在PHP手册 – Raptor

回答

3

在两种环境下,可能“规模”是不同的。

尝试设置与bcscale功能规模做你的操作之前,例如:

bcscale(3); 

$SR = "0"; 
$SPR = "149"; 
$SR = bcadd($SR, $SPR); 
echo "$SR"; 

或者简单地使用第三个参数中bcadd设置规模:

$SR = "0"; 
$SPR = "149"; 
$SR = bcadd($SR, $SPR, 3); 
echo "$SR"; 
+0

中所说的是的,需要一个'bcscale(0);',谢谢! – Webinan