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"
?>