如何用PHP整理价格

时间:2015-02-19 16:09:32

标签: php

我想在PHP中整理价格

e.g。我有价格£74.32我想要转到壁橱5.00或者如果大于5然后9.00和小数我总是希望.95 ..

例如

£74.32 would be round up to £75.95

£93.78 would be round up to £95.95

£67.87 would be round up to £69.95

我试图用下面的价格来计算价格,但我坚持将数字四舍五入到5.00或9.00

$price = ceil($price) - "0.05";
    return $price;

我如何做到这一点?

2 个答案:

答案 0 :(得分:2)

诀窍是在回合之前乘以原始值。如果函数不支持十进制数字参数,则通常用于舍入到某些十进制数。

$rounded = round($value * 100) / 100;

在这种情况下,因子将是2/10(= 0.2)

ceil(74.32 * 0.2) == 15

如果用相同的值除以它,则得到所需的限制

ceil(74.32 * 0.2) / 0.2 == 75

现在只需减去0.05:

$rounded = ceil($price * 0.2) / 0.2 - 0.05

答案 1 :(得分:1)

您可以尝试这样的事情:

if ($price % 10 > 5) {
    $newPrice = floor($price / 10) * 10 + 9.95;
} else {
    $newPrice = floor($price / 10) * 10 + 5.95;
}

demo