涉及到计算金额,PHP提供了两类方法。一类是使用floor()
和round()
进行四舍五入,还有一类是以bc
打头的一系列函数。
使用floor() 和 round()计算金额
1 2 3 4 5 6 7 8 9 10 11
| $value = '9.95'; $money = '39.555'; echo '原始价格:'. $money * ($value/10); echo '<pre>'; echo '直接四舍五入:'.round($money * ($value / 10),2); echo '<pre>'; echo '截取小数点后1位:'.floor($money * $value)/10; echo '<pre>'; echo '截取小数点后2位'.floor($money * ($value / 10) * 100)/100; die;
|
使用bc类函数计算金额
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
function price_calc($n1, $symbol, $n2, $scale = '2') { $res = ""; switch ($symbol) { case "+": $res = bcadd($n1, $n2, $scale); break; case "-": $res = bcsub($n1, $n2, $scale); break; case "*": $res = bcmul($n1, $n2, $scale); break; case "/": $res = bcdiv($n1, $n2, $scale); break; case "%": $res = bcmod($n1, $n2, $scale); break; default: $res = ""; break; } return $res; }
|