bcmul

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

bcmulMultiplica dos números de precisión arbitraria

Descripción

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

Multiplica num1 por num2.

Parámetros

num1

El operador izquierdo, como una cadena.

num2

El operador derecho, como una cadena

scale
Este parámetro se utiliza para establecer el número de dígitos después del punto decimal en el resultado. Si es null, se establecerá por defecto en la escala predeterminada establecida con bcscale(), o se utilizará el valor de la directiva INI bcmath.scale.

Valores devueltos

Devuelve el resultado como un string.

Errores/Excepciones

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.

Historial de cambios

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.

Ejemplos

Ejemplo #1 Ejemplo de bcmul()

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

Notas

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 por scale. Por ejemplo:

Ejemplo #2 Ejemplo de scale en bcmul()

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

Ver también

  • bcdiv() - Divide dos números de precisión arbitraria
  • BcMath\Number::mul()