array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'pt_BR', ), 'this' => array ( 0 => 'function.bcmul.php', 1 => 'bcmul', ), 'up' => array ( 0 => 'ref.bc.php', 1 => 'BC Math Funções', ), 'prev' => array ( 0 => 'function.bcmod.php', 1 => 'bcmod', ), 'next' => array ( 0 => 'function.bcpow.php', 1 => 'bcpow', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'pt_BR', 'path' => 'reference/bc/functions/bcmul.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
bcmul — Multiplicar dois números de precisão arbitrária
Multiplica o num1
pelo
num2
.
num1
O operando da esquerda, como uma string.
num2
O operando da direita, como uma string.
scale
Este parâmetro opcional é usado para definir o número
de dígitos após a casa decimal do resultado. Se omitido, o padrão será a escala definida
globalmente com a função bcscale() ou, em último caso, 0
se
a escala não tiver sido definida.
Retorna o resultado como uma string.
Versão | Descrição |
---|---|
8.0.0 |
scale agora pode ser null.
|
7.3.0 | bcmul() agora retorna números com a escala solicitada. Formalmente o número retornado pode ter alguns zeros decimais omitidos. |
Exemplo #1 Exemplo da bcmul()
<?php
echo bcmul('1.34747474747', '35', 3); // 47.161
echo bcmul('2', '4'); // 8
?>
Nota:
Anteriormente ao PHP 7.3.0 bcmul() podia retornar um número com menos dígitos após o ponto decimal que o parâmetro
scale
indicaria. Isto ocorre apenas quando o resultado não exigia toda a precisão permitida pelo parâmetroscale
. Por exemplo:Exemplo #2 Exemplo de bcmul() com scale
<?php
echo bcmul('5', '2', 2); // Imprime "10", não "10.00"
?>