PHP常見數學函數用法

墨辰丷
發布: 2023-03-26 11:20:02
原創
2349 人瀏覽過

這篇文章主要介紹了PHP常見數學函數用法,簡單列舉了php常見數學運算函數並結合實例形式給出了bc高精度函數的功能與使用技巧,需要的朋友可以參考下

本文實例講述了PHP常見數學函數及BC高精度數學函數用法。分享給大家供大家參考,具體如下:

1. bcadd 任意精度數的相加
2. bcsub 任意精度數的減法
3. bcmul 乘法, bcp除法
4 . bcmod 取餘數。 (比%功能更強大)
5. bcpow 冪函數運算
6. bcsqrt 平方根
7. sqrt 平方根運算
7. pow求冪
8. abs 求絕對值
9. pi 得到圓周率數值

三角函數

sin cos tan asin acos atan(以弧度表達)
deg2rad 角度轉換成弧度
rad2deg弧度轉換成角度

指數

log 求自然對數, log10 求10位底的對數
exp 以e為底的冪

各種數位轉換

base_convert 通用的任意數位轉換
bindec 二進位轉換成十進位
decbin 十進位轉換成二進位
dechex 十進位轉換成十六進位
decoct 十進位轉換成八進位
hexdec 十六進位轉換成十進位
octdec 八進位轉換成十進位

#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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!