0
我有兩位小數30.63
和0.15
的乘法問題。我的計算器說它應該導致4.60
。從這個小數乘法PHP
$commission = bcmul(30.63, 0.15,2);
結果是4.59
。
從我讀過的bcmul本意是用十進制數字來處理?
非常感謝,
我有兩位小數30.63
和0.15
的乘法問題。我的計算器說它應該導致4.60
。從這個小數乘法PHP
$commission = bcmul(30.63, 0.15,2);
結果是4.59
。
從我讀過的bcmul本意是用十進制數字來處理?
非常感謝,
從the documentation爲$scale
參數bcmul
:
此可選參數用於在結果小數點後設置的位數。
這本質上意味着該號碼將被舍入向下(或開負數)時,它的使用,例如
> echo bcmul(0.99, 1, 1);
0.9
對於您的值,30.63 * 0.15等於4.5945。正如您所報告的,提供$scale
的值爲2意味着您得到4.59。
我不知道你爲什麼期待4.60,除非你特別期待結果是四捨五入的up。
把你的計算器扔到垃圾桶裏。 '30.63 x 0.15 = 4.5945'這更接近4.59 –
4.59是完美的答案。 – Dave
你是對的 - 計算器在垃圾桶裏 –