我正在努力用PHP制作会计软件。我从浮动精度中得到了一些错误。
以下是示例非工作代码:
$a = (float) 2258574.18;
$b = (float) 2058555.18;
$c = 200019;
$d = 0;
($b+$c-$d == $a ) ? $x = "equals" : $x = "!equals";
echo $x;
输出:
!等号
我使用round()
abs()
但未解决。
如果我只将它转换为int (int)
,它就可以工作。
因此我几乎自杀了。
答案 0 :(得分:0)
以精确2
尝试round()
$e = $b+$c-$d;
(round($e, 2) == round($a, 2) ) ? $x = "equals" : $x = "!equals";
echo $x;