4

如何在 php.ini 中舍入较大的数字。

注意:我已经尝试过圆形功能,但似乎无法让它按照我的需要工作

例如:

假设我在数据库中有 4 个列表,它们有 4 个不同的价格。

    1st Price = 5,783

    2nd Price = 19,647

    3rd Price = 12,867

    4th Price = 23,647

现在我们确定数据库中的最低价格5,783

最高23,647


现在我想做的是把最低价格四舍五入说最接近的5001000甚至5000


接近 1000 的示例

最低价5,783四舍五入 = 5000

最高价23,647向上取整 = 24000

4

2 回答 2

9

您可以使用此功能:

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;
}
于 2012-05-02T20:37:56.810 回答
3

查看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

于 2012-05-02T20:43:24.547 回答