【发布时间】:2018-03-30 09:26:31
【问题描述】:
这段代码:
$total=$o->cart->getTotalSum();
$subTotal=$o->cart->getSubTotal();
if(floatval($r['sum_total']) != floatval($total) ||
floatval($r['sum_sub']) != floatval($subTotal)) {
echo 'Differs on #' . $r['id'];
echo 'Total: ' . $total . ' / ' . $r['sum_total'];
echo 'Sub: ' . $subTotal . ' / ' . $r['sum_sub'];
}
给我这个输出:
Differs on #697
Total: 19.6 / 19.6
Sub: 19.6 / 19.6
为什么?这怎么可能?
我确保所有比较的值都是浮点类型,所以不会有任何字符串滑入。
我一定是错过了什么。
我很抱歉没有提供真正可重现的代码,但我不知道在这种情况下如何。
【问题讨论】:
标签: php casting comparison variable-types