bcmul

(PHP 4, PHP 5, PHP 7, PHP 8)

bcmul两个任意精度数字乘法计算

说明

bcmul(string $num1, string $num2, ?int $scale = null): string

num1 乘以 num2

参数

num1

左操作数,字符串类型。

num2

右操作数,字符串类型。

scale
此参数用于设置结果小数点后的位数。 如果为 null,则默认为使用 bcscale() 设置的默认精度, 或者回退到 bcmath.scale INI 指令的值。

返回值

返回字符串类型的结果。

错误/异常

此函数在下列情况下抛出 ValueError

  • num1num2 不是格式正确的 BCMath 数字字符串。
  • scale 超出有效范围。

更新日志

版本 说明
8.0.0 现在 scale 可以为 null。
7.3.0 现在 bcmul() 可以按想要的小数点位数返回数字。 而之前,返回的数字会忽略尾随零(trailing decimal zeroes)。

示例

示例 #1 bcmul() 示例

<?php
echo bcmul('1.34747474747', '35', 3); // 47.161
echo bcmul('2', '4'); // 8
?>

注释

注意:

PHP 7.3.0 之前,bcmul() 返回的结果中小数位数可能比 scale 参数指定的少。只有当结果不需要 scale 允许的所有精度时,才会发生这种情况。例如:

示例 #2 bcmul() 进位制示例

<?php
echo bcmul('5', '2', 2); // 打印“10”而不是“10.00”
?>

参见