如何使用php正确格式化以下操作结果
$total = 545.37;
$procent = 7;
$cashback = ($total * $procent / 100 );
var_dump($cashback) = 38.1759;
比我想要转换为德国标准,我试图使用以下
number_format($cashback,2,',','');
但是这个返回38,18
预期结果应为38,17
答案 0 :(得分:1)
使用number_format(floor(100*$cashback)/100,2,',','');
在两位数后向下舍入。
如果您需要考虑舍入错误,例如$cashback= 0.9999999;
number_format(floor(100*$cashback+0.001)/100,2,',','');
如果您想在处理货币金额时避免舍入错误,请以整数表示的分数或毫秒数进行所有计算。
答案 1 :(得分:1)
使用楼层功能: -
$cashback= $cashback*100;
$cashback = number_format(floor($cashback)/100,2,',','');