在locale上使用数字进行php操作

时间:2013-05-23 10:44:54

标签: php count

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

$total = 545.37;
$procent = 7;

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

var_dump($cashback) = 38.1759;

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

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

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

2 个答案:

答案 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,',','');