如何在PHP中舍入整数?

时间:2011-10-25 04:00:04

标签: php integer rounding

我想将任何整数四舍五入到下一个十位数。

一些例子来说明我的观点:

- 我的号码是1,我希望将其舍入到10

- 我的号码是35,我希望这个数字可以达到40

- 我的号码为72,我想将其四舍五入到80

- 等等

// $category_count's value is 38
for($i = 1; $i <= $category_count; $i++) 
{ 
       if($i % 10 == 0)
       {
          echo "<a href=\"?page=$i\">$i;</a>"; 
       }
    }

以上代码输出3个链接,我也需要第4个链接。

7 个答案:

答案 0 :(得分:3)

您的for无效。如果您需要将计数器模数为10,请改用此代码:

for($i = 1, $c = ceil($category_count/10); $i <= $c; $i++) 
{ 
    $j = $i * 10;
    echo "<a href=\"?page=$j\">$j;</a>"; 
}

答案 1 :(得分:2)

编辑我的回答指出这个问题。与许多好的答案基本相同。

How to round up a number to nearest 10?

答案 2 :(得分:2)

mrtsherman几乎是正确的,但是OP的问题需要它向上舍入(1 => 10)

// $category_count's value is 38
$loop_limit = ceil($category_count/10);
for ($i = 1; $i <= $loop_limit; $i++) {
  $page = $i * 10;
  echo "<a href=\"?page={$page}\">{$page}</a>";
}

答案 3 :(得分:1)

round(($num/10))*10; // Make sure num is an integer or use (int) to convert string to integer.

这对我有用:)

答案 4 :(得分:0)

这样做的一种方法是添加9,然后在十位处截断它(整数除以十,然后乘以十)。

或者,您可以添加5然后使用具有负精度的round函数:

echo round ($i + 5, -1);

答案 5 :(得分:0)

这样的事情应该有效:

(int(i/10) + 1) x 10

答案 6 :(得分:0)

尝试以下

ceil($category_count/10)*10