Как округлить целое число в PHP? - PullRequest
0 голосов
/ 25 октября 2011

Я хочу округлить любое целое число до следующего десятого числа.

Несколько примеров, иллюстрирующих мою точку зрения:

- у меня есть число 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 ссылки, мне тоже нужна четвертая.

Ответы [ 7 ]

3 голосов
/ 25 октября 2011

Ваш for неэффективен. Если вам нужно модулировать 10 ваш счетчик, используйте вместо этого код:

for($i = 1, $c = ceil($category_count/10); $i <= $c; $i++) 
{ 
    $j = $i * 10;
    echo "<a href=\"?page=$j\">$j;</a>"; 
}
2 голосов
/ 25 октября 2011

Мртшерман почти прав, но вопрос ОП нуждался в том, чтобы округлить UP (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>";
}
2 голосов
/ 25 октября 2011

Отредактировал мой ответ, чтобы вместо этого указать на этот вопрос.В основном то же самое со многими хорошими ответами.

Как округлить число до ближайшего 10?

1 голос
/ 12 января 2013
round(($num/10))*10; // Make sure num is an integer or use (int) to convert string to integer.

Это работает для меня:)

0 голосов
/ 25 октября 2011

Попробуйте следующее

ceil($category_count/10)*10
0 голосов
/ 25 октября 2011

Примерно так должно работать:

(int(i/10) + 1) x 10
0 голосов
/ 25 октября 2011

Один из способов сделать это - добавить 9, а затем усечь его в десятке (целое число делить на десять, а затем умножить на десять).

Кроме того, вы можете добавить 5, а затем использовать функцию round с отрицательной точностью:

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