我正在努力用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)
,它就可以工作。
我差点因此自杀。
尝试精确round()
2
$e = $b+$c-$d;
(round($e, 2) == round($a, 2) ) ? $x = "equals" : $x = "!equals";
echo $x;