PHP – 如何使用 bcmul() 函数将两个任意精度的数字相乘?

phpserver side programmingprogramming更新于 2025/7/22 16:22:17

在 PHP 中,bcmul() 数学函数用于将一个任意精度的数字与另一个数字相乘。 bcmul() 函数接受两个任意精度的数字作为字符串,并将结果缩放到指定精度后,返回两个数字相乘的结果。

语法

string bcmul( $num_string1, $num_string2, $scaleVal)

参数

数学函数 bcmul() 接受三个不同的参数:$num_string1、$num_string2 和 $scaleVal。

  • $num_string1 - 表示左操作数,为字符串类型参数。

  • $num_string2 - 表示右操作数,为字符串类型参数。

  • $scaleVal - 这是一个可选的整数类型参数,用于设置结果输出中小数点后的位数。它返回默认值 0。

返回值

bcmul() 数学函数以字符串形式返回两个数字 $num_str1  和  num_str2 的乘积。

示例 1 - 不使用 $scaleVal 参数的 bcmul() PHP 函数

<?php
   // 用于演示 bcmul() 函数的 PHP 程序
   // 使用任意精度的两个输入数字
   $num_string1 = "10.5552";
   $num_string2 = "3";

   // 计算两个数字的和
   // 不带 $scaleVal 参数
   $result = bcmul($num_string1, $num_string2);

   echo "Output without scaleVal is: ", $result;
?>

输出

Output without scaleVal is: 31

如果没有 scaleVal 参数,小数点后的数字将被丢弃。

示例 2 - 使用 $scaleVal() 参数的 PHP 函数 bcmul()

在这里,我们将使用相同的输入值,并将小数位数设置为 4,并检查输出。

<?php
   // 用于演示 bcmul() 函数的 PHP 程序
   // 使用任意精度的两个输入数字
   $num_string1 = "10.5552";
   $num_string2 = "3";

   // 使用小数位数 4
   $scaleVal = 4;

   // 计算两个不带 $scaleVal 参数的数字的和
   $result = bcmul($num_string1, $num_string2, $scaleVal);
   echo "Output with scaleVal is:", $result;
?>

输出

Output with scaleVal is: 31.6656

相关文章