PHP 8.2.28 Released!

bcdivmod

(PHP 8 >= 8.4.0)

bcdivmodGet the quotient and modulus of an arbitrary precision number

Descripción

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

Get the quotient and remainder of dividing num1 by 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

Returns an indexed array where the first element is the quotient as a string and the second element is the remainder as a 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 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
?>

Ejemplo #2 bcdivmod() with decimals

<?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() - Obtiene el módulo de un número de precisión arbitraria
  • BcMath\Number::divmod()
add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top