(PHP 4, PHP 5, PHP 7, PHP 8)
bcmul — Multiply two arbitrary precision numbers
num1The left operand, as a string.
num2The right operand, as a string.
scalenull, 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
scaleparameter 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"
?>