bcmul

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

bcmulMultiplica dois números de precisão arbitrária

Descrição

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

Multiplica num1 por num2.

Parâmetros

num1

O operando da esquerda, como uma string.

num2

O operando da direita, como uma string.

scale
Este parâmetro é usado para definir o número de dígitos após o separador de decimais do resultado. Se for null, será usada a escala padrão definida com bcscale(), ou será usado o valor da diretiva INI bcmath.scale.

Valor Retornado

Retorna o resultado como uma string.

Erros/Exceções

Esta função lança uma exceção ValueError nos seguintes casos:

  • num1 ou num2 não for uma string numérica BCMath bem formada.
  • scale estiver fora do intervalo válido.

Registro de Alterações

Versão Descrição
8.0.0 scale agora pode ser nulo.
7.3.0 bcmul() agora retorna números com a escala solicitada. Formalmente o número retornado pode ter alguns zeros decimais omitidos.

Exemplos

Exemplo #1 Exemplo de bcmul()

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

Notas

Nota:

Anteriormente ao PHP 7.3.0, bcmul() poderia retornar um número com menos dígitos após o ponto decimal em comparação ao que o parâmetro scale indicaria. Isto ocorre apenas quando o resultado não exige toda a precisão permitida pelo parâmetro scale. Por exemplo:

Exemplo #2 Exemplo de bcmul() com escala

<?php
echo bcmul('5', '2', 2); // Exibe "10", não "10.00"
?>

Veja Também