Devuelve el cociente y el resto de un número de precisión arbitraria

# bcdivmod

(PHP 8 >= 8.4.0)

bcdivmod — Devuelve el cociente y el resto de un número de precisión arbitraria

### Descripción

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

Devuelve el cociente y el resto de la división de `num1` por `num2`.

### Parámetros

`num1`

  El dividendo, como una cadena.

`num2`

  El divisor, como una cadena.

`scale`
  Este parámetro se utiliza para establecer el número de dígitos después del punto decimal en el resultado. Si es `null`, se establecerá por defecto en la escala predeterminada establecida con bcscale(), o se utilizará el valor de la directiva INI `bcmath.scale`.

### Valores devueltos

Devuelve un array indexado donde el primer elemento es el cociente en forma de string y el segundo elemento es el resto en forma de string.

### Errores/Excepciones

Esta función lanza una excepción ValueError en los siguientes casos:

- `num1` o `num2` no es una cadena numérica bien formada de BCMath.
- `scale` está fuera del rango válido.

Esta función lanza una excepción DivisionByZeroError si `num2` es `0`.

### Ejemplos

Ejemplo #1 Ejemplo 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
    ?>

Ejemplo #2 bcdivmod() con decimales

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

### Ver también

- bcdiv() - Divide dos números de precisión arbitraria
- bcmod() - Devuelve el resto de una división entre números de gran tamaño
- BcMath\Number::divmod() - Devuelve el cociente y el módulo de un número de precisión arbitraria

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