当$ balance高于0.01时,为什么if语句中的$ balance不等于0.01?

时间:2019-06-22 16:23:18

标签: php

我对if语句有疑问。如果条件成立,则程序不会进入if内部。

我试图将运算符>=更改为==,但是它仍然无法正常工作。它可以与<=一起使用,但我需要>=,而且我也无法向自己解释为什么它不起作用。

<?php

$balance = 0.03;      // input 0.03 

if($balance >= 0.02)
{
    $returned = ((floor($balance / 0.02)) * 0.02); // 0.02
    $balance = $balance - $returned;               // 0.03 - 0.02 = 0.01 left
}

echo var_dump($balance) . PHP_EOL;

if($balance >= 0.01)                // why doesnt go in ?
{
    echo "Print Smt ....";
}

第二个if为什么不正确? 0.01不等于0.01吗?

1 个答案:

答案 0 :(得分:0)

因为$balance被重新分配的值-1.47小于0.01