PHP字符串四舍五入到小数点后两位的正确方法是什么?

$number = "520"; // It's a string from a database

$formatted_number = round_to_2dp($number);

echo $formatted_number;

输出应该是520.00;

round_to_2dp()函数应该如何定义?


当前回答

Round_to_2dp是一个用户定义的函数,除非发布该函数的声明,否则什么也做不了。

然而,我的猜测是这样做的:number_format($number, 2);

其他回答

$number = sprintf('%0.2f', $numbers); // 520.89898989 -> 520.89

小数点后会有2个数。

$retailPrice = 5.989;
echo number_format(floor($retailPrice*100)/100,2, '.', ''); 

它将返回5.98而不是四舍五入的数字。

使用PHP number_format()函数。

例如,

$num = 7234545423;
echo number_format($num, 2);

输出将是:

7,234,545,423.00

你可以使用PHP printf或sprintf函数:

sprintf的示例:

$num = 2.12;
echo sprintf("%.3f", $num);

您也可以在没有echo的情况下运行相同的程序。例如:sprintf(“%。3 f”,num美元);

输出:

2.120

或者,使用printf:

echo printf("%.2f", $num);

输出:

2.124

添加到其他答案,因为默认情况下,number_format()将添加数千分隔符。

要删除它,请执行以下操作:

$number = number_format($number, 2, ".", "");