讨论数量:
- 我测试的时候没有得到这样的结果呢 ?
8.8 x 5 x 100 = 4400.000000000001
code
// 乘法
$nums1 = 8.8 * 5 * 100;
var_dump($nums1); // float(4400)
var_dump(round($nums1, 2)); // float(4400)
$result = bcmul(8.8,5,2);
$result = bcmul($result,100,2);
var_dump($result); // string(7) "4400.00"
// 除法
$nums2 = 10/3;
var_dump($nums2); // float(3.3333333333333)
var_dump(round($nums2, 2)); // float(3.33)
var_dump(bcdiv(10,3,2)); // string(4) "3.33"
// 关于保留2为小数且补足末尾0
$nums3 = 2/10; // float(0.2)
var_dump($nums3);
var_dump(round($nums3, 2)); // float(0.2)
var_dump(sprintf("%.2f", $nums3)); // string(4) "0.20"
var_dump(bcdiv(2,10,2)); // string(4) "0.20"
推荐文章: