(PHP 4, PHP 5, PHP 7, PHP 8)
bcmul — Multiply two arbitrary precision numbers
num1
The left operand, as a string.
num2
The right operand, as a string.
scale
null
, it will default to the default scale set with bcscale(),
or fallback to the value of the
bcmath.scale
INI directive.
Returns the result as a string.
This function throws a ValueError in the following cases:
num1
or num2
is not a well-formed BCMath numeric string.
scale
is outside the valid range.
Version | Description |
---|---|
8.0.0 |
scale is now nullable.
|
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
<?php
echo bcmul('1.34747474747', '35', 3); // 47.161
echo bcmul('2', '4'); // 8
?>
Note:
Prior to 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 thescale
. For example:Example #2 bcmul() scale example
<?php
echo bcmul('5', '2', 2); // prints "10", not "10.00"
?>