Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 修正为0.2十进制数_Php_Math_Rounding - Fatal编程技术网

Php 修正为0.2十进制数

Php 修正为0.2十进制数,php,math,rounding,Php,Math,Rounding,可能重复: 基本上是一道数学题 $average_ppm = $total_points_given / $totalvalue; $average_ppm现在等于2.432608695652174,我不想显示这些数字,我只需要$average_ppm为2.43,所以是固定的2个小数点。我该怎么做 感谢您抽出宝贵的时间。如果您想要字符串输出,请使用//或使用//作为数值: $average_ppm = 2.432608695652174; echo sprintf("%.2f", $ave

可能重复:

基本上是一道数学题

$average_ppm = $total_points_given / $totalvalue;
$average_ppm现在等于2.432608695652174,我不想显示这些数字,我只需要$average_ppm为2.43,所以是固定的2个小数点。我该怎么做

感谢您抽出宝贵的时间。

如果您想要字符串输出,请使用//或使用//作为数值:

$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
我将使用:

您可以使用,或/取决于您希望数字四舍五入的方式

最适合您需要的是圆形:

$average_ppm = round($total_points_given / $totalvalue,2);
如果函数在第三个参数是精度的情况下可用,则可以使用这些函数


$average\u ppm=bcdiv($total\u points\u给定,$totalvalue,2)

如果您希望在。。。您可以通过以下方式完成:

当你得到一个像:2.400054846这样的数字,并且你使用
round
你将得到2.4
如果您希望后面有2个数字,您可以使用
number\u格式
这将输出2.40

,但我不想重复这些数字,我只希望变量值为2个小数点?@user969729已更新;)如果要获取字符串,请使用
sprintf
;如果要获取数字,请使用
round
。两者都可以存储在可变值中,也可以打印出来。非常感谢!很好。
$average_ppm = round($total_points_given / $totalvalue,2);
number_format(2.43260869565217, 2); // 2.43