我想在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;
我如何做到这一点?
答案 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;
}