bcmul
Multiply two arbitrary precision numbers
Description
string bcmul(string $num1, string $num2, intnull $scale = null)
Multiply num1 by num2.
Parameters
-
num1
-
The left operand, as a string.
-
num2
-
The right operand, as a string.
-
scale
-
This parameter is used to set the number of digits after the decimal place in the result.
If
null, it will default to the default scale set with bcscale,
or fallback to the value of the
bcmath.scale INI directive.
Return Values
Returns the result as a string.
Errors/Exceptions
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.
Examples
Example #1 bcmul example
<?php
echo bcmul('1.34747474747', '35', 3); // 47.161
echo bcmul('2', '4'); // 8
?>
Notes
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 the scale. For example:
Example #2 bcmul scale example
<?php
echo bcmul('5', '2', 2); // prints "10", not "10.00"
?>