(PHP 4, PHP 5, PHP 7, PHP 8)
bcmul — Multiplica dos números de precisión arbitraria
num1El operador izquierdo, como una cadena.
num2El operador derecho, como una cadena
scalenull, se establecerá por defecto en la escala predeterminada establecida con bcscale(),
o se utilizará el valor de la directiva INI
bcmath.scale.
Devuelve el resultado como un string.
Esta función lanza una excepción ValueError en los siguientes casos:
num1 o num2
no es una cadena numérica bien formada de BCMath.
scale está fuera del rango válido.
| Versión | Descripción |
|---|---|
| 8.0.0 |
scale ahora es nullable.
|
| 7.3.0 | bcmul() ahora devuelve números con la escala solicitada. Anteriormente, los números devueltos podían omitir los ceros decimales finales. |
Ejemplo #1 Ejemplo de bcmul()
<?php
echo bcmul('1.34747474747', '35', 3); // 47.161
echo bcmul('2', '4'); // 8
?>Nota:
Antes de PHP 7.3.0, bcmul() podría devolver un resultado con menos dígitos después del punto decimal que el parámetro
scaleindicaría. Esto solo ocurre cuando el resultado no requiere toda la precisión permitida porscale. Por ejemplo:Ejemplo #2 Ejemplo de scale en bcmul()
<?php
echo bcmul('5', '2', 2); // Imprime "10", no "10.00"
?>