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

# bcmul

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

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

### 说明

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

`num1` 乘以 `num2`。

### 参数

`num1`

  左操作数，字符串类型。

`num2`

  右操作数，字符串类型。

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

### 返回值

返回字符串类型的结果。

### 错误／异常

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

- `num1` 或 `num2` 不是格式正确的 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”
>     ?>

### 参见

- bcdiv() - 两个任意精度的数字除法计算
- BcMath\Number::mul() - Multiplies an arbitrary precision number

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open