我有一个函数,可以对一些付款求和。
function get_payment() {
return 1439.60 + 1439.60 + 1439.60;
}
$a = get_payment();
var_export($a);
//I GET: $a = 4318.7999999999993;
现在我试图四舍五入到2个小数点但没有成功
$b = round($a, 2);
var_export($b);
//I GET: $b = 4318.8000000000002;
我想让FLOAT 类型中的4318.80 与其他值进行比较。
我不想使用number_format(显示结果(
$b = number_format((float)$a, 2, '.', '');
这将使$b商店变得圆润$a
我认为问题出var_export,由于某种原因,忽略了"圆形">
var_export($a);
// 4318.79999999999927240423858165740966796875
$b = round($a, 2);
var_export($b);
// 4318.8000000000001818989403545856475830078125
var_dump($b);
// float(4318.8)
echo $b;
//4318.8
因为你不想用number_format,你可以试试bcdiv
$b=bcdiv($a, 1, 2);
echo $b;