如何在 php 中舍入较大的数字。
注意:我已经准备好尝试了圆形功能,但似乎无法根据需要使其正常工作
例如:
假设我在数据库中有 4 个列表,它们有 4 个不同的价格。
1st Price = 5,783
2nd Price = 19,647
3rd Price = 12,867
4th Price = 23,647
现在我们确定数据中的最低价格为 5,783
最高价格为23,647。
现在我想做的是将最低价格四舍五入,说出最接近的 500 或 1000 甚至 5000
近集 1000 的示例
最低价格 5,783 向下舍入 = 5000
最高价格 23,647 四舍五入 = 24000
您可以使用此函数:
function nearest($num, $divisor) {
$diff = $num % $divisor;
if ($diff == 0)
return $num;
elseif ($diff >= ceil($divisor / 2))
return $num - $diff + $divisor;
else
return $num - $diff;
}
这样称呼它:
nearest(23647, 5000);
类似的功能,但当您想自己决定舍入哪个方向时:
function roundUp($num, $divisor) {
$diff = $num % $divisor;
if ($diff == 0)
return $num;
else
return $num - $diff + $divisor;
}
function roundDown($num, $divisor) {
$diff = $num % $divisor;
return $num - $diff;
}
看看 php 手册中的回合。拳头的例子说:
<?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
?>
我想你正在寻找
round(23647, -3)
我没有检查过这个,但它应该可以工作(见手册)。
如果你想杀死',你可以使用number_format