PHP商业圆形货币

时间:2012-03-27 19:44:33

标签: php rounding currency

亲爱的Stackoverflowers,

我想知道您可以针对以下问题提出哪些解决方案:

这就是我所拥有的:

13.90
5.03
7.06
2.51

这就是我想要的:

13.90
5.05
7.05
2.50

基本上:我想在商业基础上使用货币。最后一个小数可能只舍入到5或10(向第一个数字加1)或向下舍入到5或0。

2 个答案:

答案 0 :(得分:9)

舍入到最近x的通用公式:

round(input / x) * x

您的用例示例:

round(5.03 / .05) * .05 = round(100.6) * .05 = 101 * .05 = 5.05

答案 1 :(得分:5)

<?php

$int = 5.03;
$int *= 20;
$int = ceil($int);
$int /= 20;

echo $int;

您只需要通过乘以数字来定义舍入的分辨率(稍后再将其除以)。这是一个简单的数学问题。