$num = 10.4567; 

//第一种:利用round()对浮点数进行四舍五入 但是这个如果没有两位小数也不会"两位精度"

echo round($num,2); //10.46   echo round('1.1',2); //1.1 

//第二种:利用sprintf格式化字符串 并进行四舍五入

$format_num = sprintf("%.2f",$num); 2 echo $format_num; //10.46

//第三种:利用千位分组来格式化数字的函数number_format()
//生成两位小数 进行四舍五入

 echo number_format($num, 2);           //10.46

//或者如下

 echo number_format($num, 2);           //10.46

//第四种 保留两位小数 不四舍五入 就是截取一下再截取一下

$num = 123213.666666;      
echo sprintf("%.2f",substr(sprintf("%.3f", $num), 0, -2));

当然了还可以利用 ceil() floor() 再进行计算取得符合业务逻辑的数值