이 글에서는 주로 PHP에서 흔히 사용되는 수학 함수의 사용법을 소개하고, PHP에서 흔히 사용되는 수학 연산 함수를 간략하게 나열하고, 필요한 친구들이 참고할 수 있도록 bc 고정밀 함수의 기능과 사용법을 알려드립니다.
이 글에서는 일반적인 PHP 수학 함수와 BC 고정밀 수학 함수의 사용 예를 설명합니다. 참고용으로 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.
1. bcadd는 임의의 정밀도 숫자의 덧셈입니다.
2. bcsub는 임의의 정밀도 숫자의 뺄셈입니다.
3. bcmul은 곱셈이고, bcp는 나눗셈입니다. bcmod가 나머지입니다. (%보다 강력함)
5. bcpow 거듭제곱 함수 연산
6. bcsqrt 제곱근 연산
7.
sin cos tan asin acos atan(라디안으로 표시)
deg2rad rad2deg 라디안을 각도로 변환
exComponent
log를 구하여 자연 로그, log10을 구하여 밑이 10인 로그
exp를 e의 거듭제곱으로 밑수
다양한 숫자 시스템 변환
base_convert 범용 임의 숫자 시스템 변환bindec 2진수를 10진수로 변환
decbin 10진수를 2진수로 변환
decoct 10진수를 8진수로 변환 hexdec 16진수를 10진수로 변환 octdec 8진수를 10진수로 변환
BC 고정밀 함수 사용 예:
<?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); ?>
실행 결과:
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"관련 권장 사항: 자체 수학 함수 라이브러리를 개발하기 위한 PHP 확장 개발
JavaScript 배열-문자열-수학 함수
사례 공유 PHP 공통 수학 함수와 BC 고정밀 수학 함수
위 내용은 PHP의 일반적인 수학 함수 사용법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!