(PHP 4, PHP 5, PHP 7, PHP 8)
bcmod — Modulo zweier Zahlen mit beliebiger Genauigkeit
Liefert den Rest der Division von num1
durch num2
.
Solange num2
ungleich 0
ist,
hat das Ergnis dasselbe Vorzeichen wie num1
.
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.
Gibt den Modulo als String zurück.
In den folgenden Fällen wirft diese Funktion einen ValueError:
num1
oder num2
ist keine wohlgeformte numerische BCMath-Zeichenkettescale
liegt außerhalb des gültigen Bereichs
Wenn num2
0
ist, wirft diese
Funktion eine DivisionByZeroError-Exception.
Version | Beschreibung |
---|---|
8.0.0 |
scale ist jetzt nullbar.
|
8.0.0 | Die Division durch 0 wirft nun eine DivisionByZeroError-Exception, anstatt Null zurückzugeben. |
7.2.0 |
num1 und num2 werden
nicht länger zu einer Ganzzahl abgeschnitten, so dass nun das Verhalten
von bcmod() eher fmod() statt dem
% Operator entspricht.
|
7.2.0 |
Der scale Parameter wurde hinzugefügt.
|
Beispiel #1 bcmod()-Beispiel
<?php
bcscale(0);
echo bcmod( '5', '3'); // 2
echo bcmod( '5', '-3'); // 2
echo bcmod('-5', '3'); // -2
echo bcmod('-5', '-3'); // -2
?>
Beispiel #2 bcmod() mit Dezimalzahlen
<?php
bcscale(1);
echo bcmod('5.7', '1.3'); // 0.5 von PHP 7.2.0 an; 0 zuvor
?>