bcmod
Get modulus of an arbitrary precision number
Description
string bcmod(string $num1
, string $num2
, intnull $scale
= null
)
Parameters
-
num1
-
The left operand, as a string.
-
num2
-
The 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.
Return Values
Returns the modulus as a string.
Errors/Exceptions
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
.
Examples
Example #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
?>
Example #2 bcmod with decimals
<?php
bcscale(1);
echo bcmod('5.7', '1.3'); // 0.5 as of PHP 7.2.0; 0 previously
?>