PHP Conference Nagoya 2025

bcdivmod

(PHP 8 >= 8.4.0)

bcdivmodGet the quotient and modulus of an arbitrary precision number

Beschreibung

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

Get the quotient and remainder of dividing num1 by num2.

Parameter-Liste

num1

Der Dividend in Stringform.

num2

Der Divisor in Stringform.

scale

Dieser optionale Parameter kann benutzt werden, um die Anzahl der Nachkommastellen im Ergebnis festzulegen. Sie können mit Hilfe der bcscale()-Funktion auch einen globalen Vorgabewert für alle Funktionen festlegen.

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

In den folgenden Fällen wirft diese Funktion einen ValueError:

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

Wenn num2 0 ist, wirft diese Funktion eine DivisionByZeroError-Exception.

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

User Contributed Notes

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