Get the quotient and modulus of an arbitrary precision number

# bcdivmod

(PHP 8 >= 8.4.0)

bcdivmod — Get the quotient and modulus of an arbitrary precision number

### Beschreibung

function bcdivmod(string `$num1`, string `$num2`, ?int `$scale` = `null`): array

Get the quotient and remainder of dividing `num1` by `num2`.

### Parameter-Liste

`num1`

  Der Dividend als Zeichenkette.

`num2`

  Der Divisor als Zeichenkette.

`scale`
  Dieser Parameter wird verwendet, um die Anzahl der Nachkommastellen im Ergebnis festzulegen. Falls `null`, wird die mit bcscale() definierte Standard-Genauigkeit verwendet oder auf den Wert der INI-Direktive `bcmath.scale` zurückgegriffen.

### Rückgabewerte

Returns an indexed array where the first element is the quotient as a string and the second element is the remainder as a string.

### Fehler/Exceptions

Diese Funktion löst in den folgenden Fällen einen ValueError aus:

- `num1` oder `num2` ist keine wohlgeformte numerische BCMath-Zeichenkette.
- `scale` liegt außerhalb des gültigen Bereichs.

Wenn `num2` `0` ist, löst diese Funktion eine DivisionByZeroError-Exception aus.

### Beispiele

Beispiel #1 bcdivmod() example

    <?php
    bcscale(0);

    [$quot, $rem] = bcdivmod('5',  '3');
    echo $quot; // 1
    echo $rem;  // 2

    [$quot, $rem] = bcdivmod('5',  '-3');
    echo $quot; // -1
    echo $rem;  // 2

    [$quot, $rem] = bcdivmod('-5',  '3');
    echo $quot; // -1
    echo $rem;  // -2

    [$quot, $rem] = bcdivmod('-5',  '-3');
    echo $quot; // 1
    echo $rem;  // -2
    ?>

Beispiel #2 bcdivmod() with decimals

    <?php
    [$quot, $rem] = bcdivmod('5.7', '1.3', 1);
    echo $quot; // 4
    echo $rem;  // 0.5
    ?>

### Siehe auch

- bcdiv() - Division zweier Zahlen beliebiger Genauigkeit
- bcmod() - Modulo zweier Zahlen mit beliebiger Genauigkeit
- BcMath\Number::divmod() - Gets the quotient and modulus of an arbitrary precision number

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open