Home > Article > Backend Development > Common mathematical function usage in PHP
This article mainly introduces the usage of common mathematical functions in PHP. It briefly lists the common mathematical operation functions in PHP and gives the functions and usage skills of bc high-precision functions in the form of examples. Friends in need can refer to it
The examples in this article describe the usage of common PHP mathematical functions and BC high-precision mathematical functions. Share it with everyone for your reference, the details are as follows:
1. bcadd Addition of arbitrary precision numbers
2. bcsub Subtraction of arbitrary precision numbers
3. bcmul multiplication, bcp division
4 . bcmod takes the remainder. (More powerful than %)
5. bcpow power function operation
6. bcsqrt square root
7. sqrt square root operation
7. pow exponentiation
8. abs find absolute value
9. pi gets the value of pi
Trigonometric function
sin cos tan asin acos atan (expressed in radians)
deg2rad Convert angles to radians
rad2deg Convert radians into angles
Exponent
log is used to find the natural logarithm, log10 is used to find the logarithm to the base 10
exp is the power with e as the base
Various number system conversion
base_convert Universal arbitrary number system conversion
bindec Binary to decimal conversion
decbin Decimal to binary conversion
dechex Decimal to Hexadecimal
decoct Convert decimal to octal
hexdec Convert hexadecimal to decimal
octdec Convert octal to decimal
BC high-precision function usage example:
<?php /*************************************************************************************** *php BC高精确度函数库 *php bc math 包含了:相加,比较,相除,相减,求余,相乘,n次方,配置默认小数点数目,求平方 *这些函数在涉及到有关金钱的计算时比较有用 *************************************************************************************** *两个高精度数比较 *工作中遇到一种情况,0.00 != 0 *int bccomp ( string $left_operand , string $right_operand [, int $scale ] ) *$left=$right 返回 0 *$left<$right 返回 -1 *$left>$right 返回 1 *$scale 小数点位数 ***************************************************************************************/ $a = 4.45; $b = 5.54; if(bccomp($a, $b, 2) == 0) { echo "完全相等"; } /*************************************************************************************** *两个高精度数相加 *string bcadd ( string $left_operand , string $right_operand [, int $scale ] ) *$scale 返回的小数点个数 ***************************************************************************************/ $a = 1.0321456; $b = 0.0123456; $c = bcadd($a, $b, 2); var_dump($c); /*************************************************************************************** *两个高精度数相减 *sstring bcsub ( string $left_operand , string $right_operand [, int $scale ] ) *$scale 返回的小数点个数 ***************************************************************************************/ $a = 1.0321456; $b = 3.0123456; $c = bcsub($a, $b, 2); var_dump($c); /******************************************************** *两个高精度数求余/取模 *string bcmod ( string $left_operand , string $modulus ) *******************************************************/ $a = 6; $b = 4; $c = bcmod($a, $b); var_dump($c); /*************************************************************************************** *两个高精度数相除 *string bcp ( string $left_operand , string $right_operand [, int $scale ] ) *$scale小数点位数默认为 0 ***************************************************************************************/ $a = 6; $b = 5; $c = bcp($a, $b, 3); var_dump($c); /*************************************************************************************** *两个高精度数相乘 *string bcmul ( string $left_operand , string $right_operand [, int $scale ] ) *$scale小数点位数默认为 0 ***************************************************************************************/ $a = 3.1415926; $b = 2.4569874566; $c = bcmul($a, $b, 6); var_dump($c); /*************************************************************************************** *两个高精度数的次方值 *string bcpow ( string $left_operand , string $right_operand [, int $scale ] ) *$scale小数点位数默认为 0 ***************************************************************************************/ $a = 3.1415926; $b = 2; $c = bcpow($a, $b, 3); var_dump($c); /************************************************** *求高精度数的平方根 *string bcsqrt ( string $operand [, int $scale ] ) *$scale小数点位数默认为 0 ***************************************************/ $b = bcsqrt($a, 6); var_dump($b); /****************************** *设置bc函数的小数点位数 *bool bcscale ( int $scale ) *$scale小数点位数默认为 0 ******************************/ bcscale(2); ?>
Run result:
string(4) "1.04" string(5) "-1.98" string(1) "2" string(5) "1.200" string(8) "7.718853" string(5) "9.869" string(8) "1.772453"
Related recommendations:
PHP extension development to develop our own mathematical function library
JavaScript array-string-mathematical function
Sharing examples of common PHP mathematical functions and BC high-precision mathematical functions
The above is the detailed content of Common mathematical function usage in PHP. For more information, please follow other related articles on the PHP Chinese website!