(PHP 4, PHP 5, PHP 7, PHP 8)
bcmod — Get modulus of an arbitrary precision number
Get the remainder of dividing num1 by
num2.
The result has the same sign as num1.
num1The left operand, as a string.
num2The right operand, as a string.
scale
This parameter is used to set the number of digits after the decimal place in the result.
If null, it will default to the default scale set with bcscale(),
or fallback to the value of the
bcmath.scale INI directive.
Returns the modulus as a string.
This function throws a ValueError in the following cases:
num1 or num2
is not a well-formed BCMath numeric string.
scale is outside the valid range.
This function throws a DivisionByZeroError
exception if num2 is 0.
| Версія | Опис |
|---|---|
| 8.0.0 |
scale is now nullable.
|
| 8.0.0 |
Dividing by 0 now throws a DivisionByZeroError exception instead of returning null.
|
| 7.2.0 |
num1 and num2 are no
longer truncated to integer, so now the behavior of
bcmod() follows fmod() rather than
the % operator.
|
| 7.2.0 |
The scale parameter was added.
|
Приклад #1 bcmod() example
<?php
bcscale(0);
echo bcmod( '5', '3'); // 2
echo bcmod( '5', '-3'); // 2
echo bcmod('-5', '3'); // -2
echo bcmod('-5', '-3'); // -2
?>Приклад #2 bcmod() with decimals
<?php
bcscale(1);
echo bcmod('5.7', '1.3'); // 0.5 as of PHP 7.2.0; 0 previously
?>