GoLang bcmul

request it (351)
GoLang replacement for PHP's bcmul [edit | history]

Do you know a GoLang replacement for PHP's bcmul? Write it!

PHP bcmul

PHP original manual for bcmul [ show | php.net ]


(PHP 4, PHP 5, PHP 7)

bcmulMultiply two arbitrary precision numbers


string bcmul ( string $left_operand , string $right_operand [, int $scale = 0 ] )

Multiply the left_operand by the right_operand.



The left operand, as a string.


The right operand, as a string.


This optional parameter is used to set the number of digits after the decimal place in the result. If omitted, it will default to the scale set globally with the bcscale() function, or fallback to 0 if this has not been set.

Return Values

Returns the result as a string.


Version Description
7.3.0 bcmul() now returns numbers with the requested scale. Formerly, the returned numbers may have omitted trailing decimal zeroes.


Example #1 bcmul() example

echo bcmul('1.34747474747''35'3); // 47.161
echo bcmul('2''4'); // 8



Before PHP 7.3.0 bcmul() may return a result with fewer digits after the decimal point than the scale parameter would indicate. This only occurs when the result doesn't require all of the precision allowed by the scale. For example:

Example #2 bcmul() scale example

echo bcmul('5''2'2);     // prints "10", not "10.00"

See Also

  • bcdiv() - Divide two arbitrary precision numbers