2

如何使用php正确格式化以下操作结果

$total = 545.37;
$procent = 7;

$cashback = ($total * $procent / 100 ); 

var_dump($cashback) = 38.1759;

比我想转换为德国标准,我试图使用以下

number_format($cashback,2,',','');

但是这个返回的38,18 预期结果应该是38,17

4

2 回答 2

1

用于number_format(floor(100*$cashback)/100,2,',','');在两位数之后向下舍入。

如果您需要考虑舍入误差,例如$cashback= 0.9999999;

number_format(floor(100*$cashback+0.001)/100,2,',','');

如果您想在处理货币金额时避免舍入错误,请以整数表示的美分或毫分进行所有计算。

于 2013-05-23T10:51:25.573 回答
1

使用地板功能:-

$cashback= $cashback*100;
$cashback = number_format(floor($cashback)/100,2,',','');
于 2013-05-23T10:57:23.770 回答