Php 答案不正确

Php 答案不正确,php,decimal,division,Php,Decimal,Division,我有一段代码工作得很好,然后就停了下来: $miccpl = $micbudgetspent / $micleads; echo $micbudgetspent . " / " . $micleads . " = " . $miccpl; if ($micleads != NULL) { echo "$ " . round($miccpl, 2); } else { echo "TBA"; } 结果

我有一段代码工作得很好,然后就停了下来:

    $miccpl = $micbudgetspent / $micleads;
    echo $micbudgetspent . " / " . $micleads . " = " . $miccpl;
    if ($micleads != NULL)
    {
        echo "$ " . round($miccpl, 2);
    }
    else
    {
        echo "TBA";
    }
结果是:

2000/49=0.040816326530612$0.04


为什么它给我0.0408?当它应该是40.80时,
$micbudgetspent
的值显然是字符串
'2000'

在声明中:

$miccpl = $micbudgetspent / $micleads;
$micbugdetspend
是(它是的操作数)

由于
2
后面的空格,转换产生
2
作为表达式中进一步使用的值,并且
2/49
的值为
0.040816326530612


阅读PHP中的

是不是字面上的
2000
(带空格)?这不是一个数字,但如果你尝试将其除以,它将被转换为数字2。我认为Iainn已经发现了你的问题,2/49=0.0408163265306122。移除2和000之间的空间,使其无法正常工作,只是未正确测试。