bcmod

Get modulus of an arbitrary precision number

&reftitle.description; `string` `bcmod` `string` `num1` `string` `num2` ``int``null```scale`&null;

Get the remainder of dividing `num1` by `num2`. The result has the same sign as `num1`.

&reftitle.returnvalues;

Returns the modulus as a string.

&reftitle.changelog;

&Version; | &Description;
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.

&reftitle.examples;

### `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
    ?>

### `bcmod` with decimals

    <?php
    bcscale(1);
    echo bcmod('5.7', '1.3'); // 0.5 as of PHP 7.2.0; 0 previously
    ?>

&reftitle.seealso;

- `bcdiv`
- `bcdivmod`