将数字显示为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