(PHP 4, PHP 5, PHP 7, PHP 8)
bcmul — Multiplica dos números de precisión arbitraria
num1
El operador izquierdo, como una cadena.
num2
El operador derecho, como una cadena
scale
null
, 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
scale
indicarí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"
?>