PHP字符串四舍五入到小数点后两位的正确方法是什么?
$number = "520"; // It's a string from a database
$formatted_number = round_to_2dp($number);
echo $formatted_number;
输出应该是520.00;
round_to_2dp()函数应该如何定义?
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);
其他回答
另外,
$padded = sprintf('%0.2f', $unpadded); // 520 -> 520.00
这也是我今天遇到的同样的问题,想要四舍五入一个数字,并返回浮点值到一个给定的小数点后,它必须不是字符串(从number_format返回) 答案是
echo对条目(' %。”。decimalPlaces美元。“f”,四舍五入($number, $decimalPlaces);
$twoDecNum = sprintf('%0.2f', round($number, 2));
四舍五入可以正确地将数字四舍五入,如果四舍五入后恰好只有1位小数,则sprintf会强制将其四舍五入到小数点后2位。
你可以使用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
无整数
$double = '21.188624';
echo intval($double) . '.' . substr(end(explode('.', $double)), 0, 2);