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

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

$formatted_number = round_to_2dp($number);

echo $formatted_number;

输出应该是520.00;

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


当前回答

Try:

$number = 1234545454; 
echo  $english_format_number = number_format($number, 2); 

输出将是:

1,234,545,454.00

其他回答

这也是我今天遇到的同样的问题,想要四舍五入一个数字,并返回浮点值到一个给定的小数点后,它必须不是字符串(从number_format返回) 答案是

echo对条目(' %。”。decimalPlaces美元。“f”,四舍五入($number, $decimalPlaces);

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

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

Try:

$number = 1234545454; 
echo  $english_format_number = number_format($number, 2); 

输出将是:

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

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

$twoDecNum = sprintf('%0.2f', round($number, 2));

四舍五入可以正确地将数字四舍五入,如果四舍五入后恰好只有1位小数,则sprintf会强制将其四舍五入到小数点后2位。