bcmul

(PHP 4, PHP 5, PHP 7, PHP 8)

bcmulMultiplikation zweier Zahlen beliebiger Genauigkeit

Beschreibung

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

Multipliziert num1 mit num2.

Parameter-Liste

num1

Der linke Operand als Zeichenkette.

num2

Der rechte Operand als Zeichenkette.

scale
Dieser Parameter wird verwendet, um die Anzahl der Nachkommastellen im Ergebnis festzulegen. Falls null, wird die mit bcscale() definierte Standard-Genauigkeit verwendet oder auf den Wert der INI-Direktive bcmath.scale zurückgegriffen.

Rückgabewerte

Gibt das Ergebnis als Zeichenkette zurück.

Fehler/Exceptions

Diese Funktion löst in den folgenden Fällen einen ValueError aus:

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

Changelog

Version Beschreibung
8.0.0 scale ist jetzt nullbar.
7.3.0 bcmul() liefert nun Zahlen mit den angeforderten Nachkommastellen zurück. Zuvor haben die zurückgelieferten Zahlen möglicherweise abschließende Dezimalnullen ausgelassen.

Beispiele

Beispiel #1 bcmul()-Beispiel

<?php
echo bcmul('1.34747474747', '35', 3); // 47.161
echo bcmul('2', '4'); // 8
?>

Anmerkungen

Hinweis:

Vor PHP 7.3.0 kann bcmul() ein Ergebnis mit weniger Nachkommastellen zurückgeben, als der Parameter scale angibt. Dies geschieht nur, wenn das Ergebnis nicht die gesamte durch scale erlaubte Genauigkeit erfordert. Zum Beispiel:

Beispiel #2 bcmul()-Nachkommastellen-Beispiel

<?php
echo bcmul('5', '2', 2); // gibt "10" aus, nicht "10.00"
?>

Siehe auch