bcmul

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

bcmulMultiplie deux nombres de grande taille

Description

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

Multiplie num1 par num2.

Liste de paramètres

num1

L'opérande gauche, sous la forme d'une chaîne de caractères.

num2

L'opérande droite, 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 la valeur par défaut de l'échelle définie avec bcscale(), ou utilisera la valeur de la directive INI bcmath.scale si disponible.

Valeurs de retour

Retourne le résultat, sous la forme d'une chaîne de caractères.

Erreurs / Exceptions

Cette fonction lève une exception ValueError dans les cas suivants :

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

Historique

Version Description
8.0.0 scale est désormais nullable.
7.3.0 bcmul() retourne désormais les nombres avec la précision demandé. Auparavant, les nombres retournés pouvait omettre les zéros décimaux trainant à la fin.

Exemples

Exemple #1 Exemple avec bcmul()

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

Notes

Note:

Antérieur à PHP 7.3.0 bcmul() peut retourner un résultat avec moins de chiffres après la virgule que le parmètre scale indique. Ceci ne se produit que le résultat ne nécessite pas toute la précision autorisée par scale. Par exemple:

Exemple #2 bcpow() exemple pour scale

<?php
echo bcmul('5', '2', 2); // affiche "10", pas "10.00"
?>

Voir aussi