固定为.2十进制数

时间:2011-11-24 12:54:01

标签: php math rounding

  

可能重复:
  Default Number of Decimal Places to Output in PHP

基本上是一个数学问题,

$average_ppm = $total_points_given / $totalvalue;

$ average_ppm现在等于2.432608695652174,我不想显示这些数字,我只需要$ average_ppm为2.43,所以要固定2个小数点。我怎么能这样做?

感谢任何人的时间。

5 个答案:

答案 0 :(得分:1)

如果您想要字符串输出,请使用sprintf,或使用round / floor / ceil获取数字值:

$average_ppm = 2.432608695652174;

echo sprintf("%.2f", $average_ppm); // 2.43

$approx_average_ppm = round($average_ppm, 2);
echo $approx_average_ppm; // 2.43

echo floor($average_ppm, 2); // 2.43 , even if $average_ppm = 2.439
echo ceil($average_ppm, 2); // 2.44

答案 1 :(得分:1)

您可以使用sprintfroundfloor / ceil,具体取决于您希望数字舍入的方式。

最适合您需要的是:

$average_ppm = round($total_points_given / $totalvalue,2);

答案 2 :(得分:1)

如果您希望在...之后总共有2个号码,则可以使用number_format执行此操作:

number_format(2.43260869565217, 2); // 2.43

当你得到一个如下数字:2.400054846并且你使用round时你会得到2.4 如果你想要它有2个数字,你可以使用number_format这将输出2.40

答案 3 :(得分:0)

我会使用Round

round($average_ppm, 2);

答案 4 :(得分:0)

如果第三个参数是精度

,则可以使用bcmath函数

$average_ppm = bcdiv($total_points_given, $totalvalue, 2);