PHP – 如何使用 bccomp() 函数比较两个任意精度的数字?
在 PHP 中,**bccomp()** 函数用于比较两个任意精度的数字。**bccomp()** 函数将两个任意精度的数字作为字符串接收,并在比较这两个数字后输出一个整数。
语法
int bccomp($left_string1, $right_string1, $scaleval)
参数
**bccomp()** 函数接受三个不同的参数:**$left_string1**、**$right_string2** 和 **$scaleval**。
**$left_string1−** 它代表我们要进行比较的两个数字中的一个的左操作数,它是一个字符串类型的参数。
**$right_string2−** 它代表我们要进行比较的两个数字中的一个的右操作数,它是一个字符串类型的参数。
**$scaleval−** 它返回将在比较中使用的十进制位数。它是一个整数类型的参数,默认值为零。
返回值
**bccomp()** 函数返回对两个数字 **$left_string1** 和 **$right_string2** 进行比较的整数值。
如果 **$left_string1** 数字大于 **$right_string2** 数字,则返回 **1**。
如果 **$left_string1** 数字小于 **$right_string2** 数字,则返回 **-1**。
如果两个给定数字相等,则 **bccomp()** 函数返回 **0**。
示例 1 - 使用相等参数的 bccomp() PHP 函数
<?php // input two numbers $left_string1 = "3.12"; $right_string2 = "3"; // calculates the comparison of the two //number without scale value $result = bccomp($left_string1, $right_string2); //used equal parameters echo "The result is: ", $result; ?>
输出
The result is: 0
上述程序返回 0,因为使用了相等的参数且没有比例值。
示例 2
<?php // input two numbers $left_string1 = "30.12"; // left value > right value $right_string2 = "3"; //used scale value two $scaleval = 2; // calculates the comparison of the two //number without scale value $result = bccomp($left_string1, $right_string2); //used equal parameters echo "The output is: ", $result; ?>
输出
The output is: 1
它返回 1,因为左值大于右值。
示例 3
<?php // input two numbers $left_string1 = "30.12"; $right_string2 = "35"; // Right value > Left value //used scale value two $scaleval = 2; // calculates the comparison of the two //number without scale value $result = bccomp($left_string1, $right_string2); //used equal parameters echo $result; ?>
输出
-1
它返回 -1,因为右值大于左值。
广告