- Получить целое число при делении php
- intdiv
- Список параметров
- Возвращаемые значения
- Ошибки
- Примеры
- Смотрите также
- User Contributed Notes 7 notes
- PHP: Целая часть от деления
- Оператор целочисленного деления
- Функция intdiv()
- Оператор деления и функция floor()
- Заключение
- Комментарии
- Отправить комментарий
- Популярные сообщения
- Python вывести количество элементов списка
- Python как перевести число в другую систему счисления
- Как сделать шашки на python
Получить целое число при делении php
Помните школьные основы арифметики? Описанные ниже операторы работают так же.
Пример | Название | Результат |
---|---|---|
+$a | Идентичность | Конвертация $a в int или float , что более подходит. |
-$a | Отрицание | Смена знака $a . |
$a + $b | Сложение | Сумма $a и $b . |
$a — $b | Вычитание | Разность $a и $b . |
$a * $b | Умножение | Произведение $a и $b . |
$a / $b | Деление | Частное от деления $a на $b . |
$a % $b | Деление по модулю | Целочисленный остаток от деления $a на $b . |
$a ** $b | Возведение в степень | Возведение $a в степень $b . |
Операция деления («/») возвращает число с плавающей точкой, кроме случая, когда оба значения являются целыми числами (или строками, которые преобразуются в целые числа), которые делятся нацело — в этом случае возвращается целое значение. Для целочисленного деления используйте intdiv() .
При делении по модулю операнды преобразуются в целые числа ( int ) (путём удаления дробной части) до начала операции. Для деления по модулю чисел с плавающей точкой используйте fmod() .
Результат операции остатка от деления % будет иметь тот же знак, что и делимое — то есть, результат $a % $b будет иметь тот же знак, что и $a . Например:
echo ( 5 % 3 ). «\n» ; // выводит 2
echo ( 5 % — 3 ). «\n» ; // выводит 2
echo (- 5 % 3 ). «\n» ; // выводит -2
echo (- 5 % — 3 ). «\n» ; // выводит -2
intdiv
Возвращает результат целочисленного деления num1 на num2 .
Список параметров
Знаменатель. Число, на которое делится num1
Возвращаемые значения
Целое частное от деления num1 на num2 .
Ошибки
Если num2 равен 0 , будет выброшено исключение DivisionByZeroError . Если num1 равен PHP_INT_MIN , а num2 равен -1 , то будет выброшено исключение ArithmeticError .
Примеры
Пример #1 Пример использования intdiv()
var_dump ( intdiv ( 3 , 2 ));
var_dump ( intdiv (- 3 , 2 ));
var_dump ( intdiv ( 3 , — 2 ));
var_dump ( intdiv (- 3 , — 2 ));
var_dump ( intdiv ( PHP_INT_MAX , PHP_INT_MAX ));
var_dump ( intdiv ( PHP_INT_MIN , PHP_INT_MIN ));
var_dump ( intdiv ( PHP_INT_MIN , — 1 ));
var_dump ( intdiv ( 1 , 0 ));
?>?php
int(1) int(-1) int(-1) int(1) int(1) int(1) Fatal error: Uncaught ArithmeticError: Division of PHP_INT_MIN by -1 is not an integer in %s on line 8 Fatal error: Uncaught DivisionByZeroError: Division by zero in %s on line 9
Смотрите также
- / — деление рациональных чисел
- % — остаток от деления
- fmod() — остаток от деления рациональных чисел
User Contributed Notes 7 notes
This does indeed seem to be equal to intdiv:
function intdiv_1 ( $a , $b ) return ( $a — $a % $b ) / $b ;
>
?>
However, this isn’t:
function intdiv_2 ( $a , $b ) return floor ( $a / $b );
>
?>
Consider an example where either of the parameters is negative:
$param1 = — 10 ;
$param2 = 3 ;
print_r ([
‘modulus’ => intdiv_1 ( $param1 , $param2 ),
‘floor’ => intdiv_2 ( $param1 , $param2 ),
]);
Python style integer division, where the result is always rounded towards minus infinity.
1 // 2 is 0
(-1) // 2 is -1
1 // (-2) is -1
(-1) // (-2) is 0
function intdiv_py ( int $num1 , int $num2 ): int if ( $num1 < 0 xor $num2 < 0 )$num1 = abs ( $num1 );
$num2 = abs ( $num2 );
$remainder = $num1 % $num2 ;
return $remainder ? — 1 -( $num1 — $remainder ) / $num2 : — $num1 / $num2 ;
>
return intdiv ( $num1 , $num2 );
>
var_dump ( intdiv_py ( 1 , 2 )); // 0
var_dump ( intdiv_py (- 1 , 2 )); // -1
var_dump ( intdiv_py ( 1 , — 2 )); // -1
var_dump ( intdiv_py (- 1 , — 2 )); // 0
?>
@AmeenRoss
This does NOT seem to be equal to intdiv:
function intdiv_1 ( $a , $b ) return ( $a — $a % $b ) / $b ;
>
?>
See this example code
function intdiv_1 ( $a , $b ) return ( $a — $a % $b ) / $b ;
>
Without intdiv(), the following may be a good way (with $a and $b of type integer and not too big) :
(int)( $a / $b )
?>
because in case of divisible integers, the result will be integer and there is no risk of float appearing round but below their represented value (like the case (0.1+0.7)*10).
$a and $b really needs to be of type integer though.
If they are too big and indivisible, some precision will be lost during the conversion to float and the result may be inaccurate.
For earler versions PHP you may use:
function intdiv_1($a, $b) $a = (int) $a;
$b = (int) $b;
return ($a — fmod($a, $b)) / $b;
>
PHP: Целая часть от деления
В PHP есть несколько способов вычисления целой части от деления.
Оператор целочисленного деления
С версии PHP 7.0 введен оператор целочисленного деления «//». Он возвращает целую часть от деления.
$a = 10; $b = 3; $c = $a // $b; // результат будет 3
Функция intdiv()
Функция intdiv() выполняет целочисленное деление.
$a = 10; $b = 3; $c = intdiv($a, $b); // результат будет 3
Оператор деления и функция floor()
Можно использовать комбинацию оператора деления «/» и функции floor(). Функция floor() округляет число вниз до ближайшего целого.
$a = 10; $b = 3; $c = floor($a / $b); // результат будет 3
Заключение
В PHP есть разные способы вычисления целой части от деления. Выбор метода зависит от версии PHP и персональных предпочтений разработчика.
- Получить ссылку
- Электронная почта
- Другие приложения
Комментарии
Отправить комментарий
Популярные сообщения
Python вывести количество элементов списка
Python: Вывод количества элементов списка В этой статье мы рассмотрим как выводить количество элементов списка с помощью языка программирования Python. Использование функции len() Для определения количества элементов в списке в Python, используйте встроенную функцию len() . my_list = [1, 2, 3, 4, 5] elements_count = len(my_list) print(«Количество элементов в списке:», elements_count) Этот код создает список my_list , а затем использует функцию len() для подсчета элементов в списке. Результат будет выведен на экран. Использование цикла for Если вы хотите подсчитать количество элементов списка без использования функции len() , вы можете использовать цикл for . my_list = [1, 2, 3, 4, 5] elements_count = 0 for _ in my_list: elements_count += 1 print(«Количество элементов в списке:», elements_count) В этом примере мы инициализируем переменную elements_count значением 0, а затем для каждого элемента в списке увел
Python как перевести число в другую систему счисления
Преобразуйте числа как профессионал! Узнайте, как Python может перевести любое число в любую систему счисления. Даже если вы никогда раньше не сталкивались с программированием, эта статья поможет вам стать экспертом в считывании двоичных, восьмеричных и шестнадцатеричных чисел. Не пропустите возможность раскрыть секреты произвольной системы счисления в Python! Python: Перевод числа в другую систему счисления В языке программирования Python преобразование числа в другую систему счисления может быть выполнено с использованием встроенных функций и методов. Преобразование чисел в двоичную систему Python предоставляет встроенную функцию bin() для преобразования числа в двоичную систему. # Пример преобразования числа в двоичную систему num = 18 binary_num = bin(num) print(binary_num) # Вывод: 0b10010 Преобразование чисел в восьмеричную систему Функция oct() в Python преобразует число в восьмеричную систему. # Пример преобразования числа в восьмеричную систему num = 18
Как сделать шашки на python
Как сделать шашки на Python Как сделать шашки на Python В этой статье мы рассмотрим, как создать простую игру в шашки на Python с использованием библиотеки Pygame. Подготовка Для начала установите библиотеку Pygame, используя следующую команду: pip install pygame Создание доски import pygame pygame.init() WIDTH, HEIGHT = 800, 800 ROWS, COLS = 8, 8 SQUARE_SIZE = WIDTH // COLS WHITE = (255, 255, 255) BLACK = (0, 0, 0) RED = (255, 0, 0) BLUE = (0, 0, 255) def draw_board(win): win.fill(WHITE) for row in range(ROWS): for col in range(row % 2, COLS, 2): pygame.draw.rect(win, BLACK, (row * SQUARE_SIZE, col * SQUARE_SIZE, SQUARE_SIZE, SQUARE_SIZE)) def main(): win = pygame.display.set_mode((WIDTH, HEIGHT)) pygame.display.set_caption(«Checkers») clock = pygame.time.Clock() run = True while run: clock.tick(60) for event in pygame.event.get(): if event.ty