如何使用PHP汇总价格
我想用PHP计算价格 e、 g.我有74.32英镑的价格如何使用PHP汇总价格,php,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";
,我想去衣柜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;
我如何做到这一点?您可以尝试以下方法:
if ($price % 10 > 5) {
$newPrice = floor($price / 10) * 10 + 9.95;
} else {
$newPrice = floor($price / 10) * 10 + 5.95;
}
诀窍是在四舍五入之前将原始值相乘。如果函数不支持decimal digits参数,则这通常用于舍入到某些十进制数
$rounded = round($value * 100) / 100;
在这种情况下,系数为2/10(=0.2)
如果用相同的值除以它,则得到所需的极限
ceil(74.32 * 0.2) / 0.2 == 75
现在只需减去0.05:
$rounded = ceil($price * 0.2) / 0.2 - 0.05
可以说,这在数学上是不符合逻辑的,所以不会有一个内置函数来实现这一点。您必须自己编写一些东西才能实现此功能。这意味着这看起来更像是一个规范,而不是一个关于一些你无法工作的代码的帮助请求,我知道如何做到这一点。在PHP中如何将其四舍五入到最接近的5?谢谢,但是如果它高于5,我想将其四舍五入到10?这可能吗。。我不擅长数学。这是一个woocommerce函数@RiggsFolly,我必须将数据库中的所有价格汇总,我正在制作一个函数。谢谢,这正是我想要的。我的功能正常,没问题。有时,如何将需求转化为算法并不明显!另外,作为将来的参考,$price%10
是什么意思?它是模数。如上所述,它是除法的剩余部分。所以这里剩余的价格除以10。四舍五入($value*100)/100
相当于四舍五入($value,2)代码>就像我写的“如果函数不支持十进制数字参数”,我只是把它作为一个起点。
$rounded = ceil($price * 0.2) / 0.2 - 0.05