2013-10-02 147 views
1

我試圖使用PHP中的BCMATH計算稅或折扣價值。我需要2個十進制位置。下面是如何我做它:php計算折扣或稅額

bcscale(2); 
$price = '60.67'; 
$discount = bcmul(bcdiv($price, 100), '3.8'); // calculate 3.8 percent from 60.67 
// result is: 2.28 
// result should be: 2.31 

我可以在簡單的規模增長到4或類似的東西和現在能給我一個正確的結果。

所以問題是:我應該如何正確地做到這一點?我應該將比例設置爲4,最後是sprintf('%0.2f',$折扣)嗎?或者有更好的方法來做到這一點?

回答

1

繞過bcmath?

$discount = round(($price/100) * 3.8, 2); 
// 2.31 
+0

否則,嘗試圍繞3.8去除報價,並把規模作爲第三PARAM: –

+2

$折扣= bcmul(bcdiv(​​$價格,100),3.8,2); –

+0

所以你說我可以完全繞過bcmath。那麼......無論如何使用它的意義何在,以及我可以繞過它的情況是什麼? – Marius