# bcmul

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

bcmul — Multiplie 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

- bcdiv() - Divise deux nombres de grande taille
- BcMath\Number::mul() - Multiplie un nombre de précision arbitraire