1、使用round四舍五入保留小数点后两位
$money=168.228; var_dump(round($money,2));
//返回结果 float(168.23)
2、使用ceil向上取整四舍五入保留小数点后两位
$money3=122.3399; var_dump(ceil($money3*100)/100);
//返回结果 float(122.34)
3、使用floor向下取整不四舍五入保留小数点后两位
$money3=122.3399; var_dump(floor($money3*100)/100);
//返回结果 float(122.33)
4、使用sprintf四舍五入保留小数点后两位,自动补充后面0,主要应用显示金额场景
$money=168.168; $new_money=sprintf("%.2f",$money); //四舍五入保留两位小数,并补充小数点后面0 var_dump($new_money);
//返回结果 string(6) "168.17"
$money2=168; $new_money2=sprintf("%.2f",$money2); //四舍五入保留两位小数,并补充小数点后面0 var_dump($new_money2);
//返回结果 string(6) "168.00"
5、使用number_format四舍五入保留小数点后两位,自动补充后面0
var_dump(number_format(23.999,2));
//返回结果 string(5) "24.00"
6、高精度函数不四舍五入保留小数点后两位,自动补充后面0
var_dump( bcadd(1.005, 1.003,2)); //高精度函数 相加;
// 返回结果 string(4) "2.00"
var_dump( bcsub(1.998, 1.001,2)); //高精度函数 相减;
// 返回结果 string(4) "0.99"
var_dump( bcmul(33.333, 3,2)); //高精度函数 相乘;
// 返回结果 string(5) "99.99"
var_dump( bcdiv(10, 3,2)); //高精度函数 相除;
// 返回结果 string(4) "3.33"
7、高精度函数四舍五入保留小数点后两位
var_dump( round(bcadd(1.005, 1.003,3),2)); //高精度函数 相加;
// 返回结果 float(2.01)
var_dump( round(bcsub(1.998, 1.001,3),2)); //高精度函数 相减;
// 返回结果 float(1)
var_dump( round(bcmul(33.333, 3,3),2)); //高精度函数 相乘;
// 返回结果 float(100)
var_dump( round(bcdiv(10, 3,3),2)); //高精度函数 相除;
// 返回结果 float(3.33)