将数字显示为2位小数

将PHP字符串舍入为2位小数的正确方法是什么?

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

$formatted_number = round_to_2dp($number);

echo $formatted_number;

输出应该是520.00 ;

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


你可以使用number_format():

return number_format((float)$number, 2, '.', '');

例:

$foo = "105";
echo number_format((float)$foo, 2, '.', '');  // Outputs -> 105.00

这个函数返回一个字符串


或者,

$padded = sprintf('%0.2f', $unpadded); // 520 -> 520.00

使用round() (如果您只希望以浮点格式编号,则使用round() ,否则使用number_format()作为Codemwnci给出的答案):

echo round(520.34345,2);    // 520.34

echo round(520, 2);         // 520

从手册:

描述:

float round ( float $val [, int $precision = 0 [, int $mode = PHP_ROUND_HALF_UP ]] );

返回val到指定precision的舍入值(小数点后的位数)。 精度也可以是负数或零(默认)。

...

示例#1 round()示例

<?php
echo round(3.4);         // 3
echo round(3.5);         // 4
echo round(3.6);         // 4
echo round(3.6, 0);      // 4
echo round(1.95583, 2);  // 1.96
echo round(1241757, -3); // 1242000
echo round(5.045, 2);    // 5.05
echo round(5.055, 2);    // 5.06
?>

示例#2模式示例

<?php
echo round(9.5, 0, PHP_ROUND_HALF_UP);   // 10
echo round(9.5, 0, PHP_ROUND_HALF_DOWN); // 9
echo round(9.5, 0, PHP_ROUND_HALF_EVEN); // 10
echo round(9.5, 0, PHP_ROUND_HALF_ODD);  // 9

echo round(8.5, 0, PHP_ROUND_HALF_UP);   // 9
echo round(8.5, 0, PHP_ROUND_HALF_DOWN); // 8
echo round(8.5, 0, PHP_ROUND_HALF_EVEN); // 8
echo round(8.5, 0, PHP_ROUND_HALF_ODD);  // 9
?>
链接地址: http://www.djcxy.com/p/77463.html

上一篇: Show a number to 2 decimal places

下一篇: JavaScript displaying a float to 2 decimal places