Renvoie le quotient et le reste d'un nombre de précision arbitraire

# bcdivmod

(PHP 8 >= 8.4.0)

bcdivmod — Renvoie le quotient et le reste d'un nombre de précision arbitraire

### Description

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

Renvoie le quotient et le reste de la division de `num1` par `num2`.

### Liste de paramètres

`num1`

  Le dividende, sous la forme d'une chaîne de caractères.

`num2`

  Le diviseur, sous la forme d'une chaîne de caractères.

`scale`
  Ce paramètre est utilisé pour définir le nombre de chiffres après la virgule dans le résultat. Si `null`, il prendra la valeur par défaut de l'échelle définie avec bcscale(), ou utilisera la valeur de la directive INI `bcmath.scale` si disponible.

### Valeurs de retour

Renvoie un array indexé où le premier élément est le quotient sous forme de string et le second élément est le reste sous forme de string.

### Erreurs / Exceptions

Cette fonction lève une exception ValueError dans les cas suivants :

- `num1` ou `num2` n'est pas une chaîne numérique BCMath correctement formée.
- `scale` est en dehors de la plage valide.

Cette fonction lève une exception DivisionByZeroError si `num2` est égal à `0`.

### Exemples

Exemple #1 Exemple de bcdivmod()

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

Exemple #2 bcdivmod() avec des décimaux

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

### Voir aussi

- bcdiv() - Divise deux nombres de grande taille
- bcmod() - Retourne le reste d'une division entre nombres de grande taille
- BcMath\Number::divmod() - Renvoie le quotient et le modulo d'un nombre de précision arbitraire

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