>백엔드 개발 >PHP 튜토리얼 >일반적인 PHP 수학 함수와 BC 고정밀 수학 함수의 예 공유

일반적인 PHP 수학 함수와 BC 고정밀 수학 함수의 예 공유

小云云
小云云원래의
2018-01-06 16:16:081980검색

이 글에서는 주로 일반적인 PHP 수학 함수와 BC 고정밀 수학 함수의 사용법을 소개하고, 일반적인 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진수로 변환

dechex 10진수를 16진수로 변환

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 고정밀 수학 함수 라이브러리 함수 요약

MySQL 수학 함수의 간단한 요약

php 수학 함수 확장

위 내용은 일반적인 PHP 수학 함수와 BC 고정밀 수학 함수의 예 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.