PHP Conference Nagoya 2025

bcdivmod

(PHP 8 >= 8.4.0)

bcdivmodGet the quotient and modulus of an arbitrary precision number

Description

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

Get the quotient and remainder of dividing num1 by 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 par défaut la valeur définie par bcscale(), ou, à défaut, la valeur de la directive INI bcmath.scale.

Valeurs de retour

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

Erreurs / Exceptions

Cette fonction génère une exception ValueError dans les cas suivants :

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

Cette fonction génère une exception DivisionByZeroError si num2 est égal à 0.

Exemples

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

Exemple #2 bcdivmod() with decimals

<?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
add a note

User Contributed Notes

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