PHP常見(jiàn)數(shù)學(xué)函數(shù)及BC高精度數(shù)學(xué)函數(shù)用法示例
本文實(shí)例講述了PHP常見(jiàn)數(shù)學(xué)函數(shù)及BC高精度數(shù)學(xué)函數(shù)用法。分享給大家供大家參考,具體如下:
1. bcadd 任意精度數(shù)的相加
2. bcsub 任意精度數(shù)的減法
3. bcmul 乘法, bcdiv除法
4. bcmod 取余數(shù)。 (比%功能更強(qiáng)大)
5. bcpow 冪函數(shù)運(yùn)算
6. bcsqrt 平方根
7. sqrt 平方根運(yùn)算
7. pow求冪
8. abs 求絕對(duì)值
9. pi 得到圓周率數(shù)值
三角函數(shù)
sin cos tan asin acos atan(用弧度表達(dá))
deg2rad 角度轉(zhuǎn)換成弧度
rad2deg 弧度轉(zhuǎn)換成角度
指數(shù)
log 求自然對(duì)數(shù), log10 求10位底的對(duì)數(shù)
exp 以e為底的冪
各種數(shù)制轉(zhuǎn)換
base_convert 通用的任意數(shù)制轉(zhuǎn)換
bindec 二進(jìn)制轉(zhuǎn)換成十進(jìn)制
decbin 十進(jìn)制轉(zhuǎn)換成二進(jìn)制
dechex 十進(jìn)制轉(zhuǎn)換成十六進(jìn)制
decoct 十進(jìn)制轉(zhuǎn)換成八進(jìn)制
hexdec 十六進(jìn)制轉(zhuǎn)換成十進(jìn)制
octdec 八進(jìn)制轉(zhuǎn)換成十進(jìn)制
BC高精確度函數(shù)用法示例:
<?php /*************************************************************************************** *php BC高精確度函數(shù)庫(kù) *php bc math 包含了:相加,比較,相除,相減,求余,相乘,n次方,配置默認(rèn)小數(shù)點(diǎn)數(shù)目,求平方 *這些函數(shù)在涉及到有關(guān)金錢(qián)的計(jì)算時(shí)比較有用 *************************************************************************************** *兩個(gè)高精度數(shù)比較 *工作中遇到一種情況,0.00 != 0 *int bccomp ( string $left_operand , string $right_operand [, int $scale ] ) *$left=$right 返回 0 *$left<$right 返回 -1 *$left>$right 返回 1 *$scale 小數(shù)點(diǎn)位數(shù) ***************************************************************************************/ $a = 4.45; $b = 5.54; if(bccomp($a, $b, 2) == 0) { echo "完全相等"; } /*************************************************************************************** *兩個(gè)高精度數(shù)相加 *string bcadd ( string $left_operand , string $right_operand [, int $scale ] ) *$scale 返回的小數(shù)點(diǎn)個(gè)數(shù) ***************************************************************************************/ $a = 1.0321456; $b = 0.0123456; $c = bcadd($a, $b, 2); var_dump($c); /*************************************************************************************** *兩個(gè)高精度數(shù)相減 *sstring bcsub ( string $left_operand , string $right_operand [, int $scale ] ) *$scale 返回的小數(shù)點(diǎn)個(gè)數(shù) ***************************************************************************************/ $a = 1.0321456; $b = 3.0123456; $c = bcsub($a, $b, 2); var_dump($c); /******************************************************** *兩個(gè)高精度數(shù)求余/取模 *string bcmod ( string $left_operand , string $modulus ) *******************************************************/ $a = 6; $b = 4; $c = bcmod($a, $b); var_dump($c); /*************************************************************************************** *兩個(gè)高精度數(shù)相除 *string bcdiv ( string $left_operand , string $right_operand [, int $scale ] ) *$scale小數(shù)點(diǎn)位數(shù)默認(rèn)為 0 ***************************************************************************************/ $a = 6; $b = 5; $c = bcdiv($a, $b, 3); var_dump($c); /*************************************************************************************** *兩個(gè)高精度數(shù)相乘 *string bcmul ( string $left_operand , string $right_operand [, int $scale ] ) *$scale小數(shù)點(diǎn)位數(shù)默認(rèn)為 0 ***************************************************************************************/ $a = 3.1415926; $b = 2.4569874566; $c = bcmul($a, $b, 6); var_dump($c); /*************************************************************************************** *兩個(gè)高精度數(shù)的次方值 *string bcpow ( string $left_operand , string $right_operand [, int $scale ] ) *$scale小數(shù)點(diǎn)位數(shù)默認(rèn)為 0 ***************************************************************************************/ $a = 3.1415926; $b = 2; $c = bcpow($a, $b, 3); var_dump($c); /************************************************** *求高精度數(shù)的平方根 *string bcsqrt ( string $operand [, int $scale ] ) *$scale小數(shù)點(diǎn)位數(shù)默認(rèn)為 0 ***************************************************/ $b = bcsqrt($a, 6); var_dump($b); /****************************** *設(shè)置bc函數(shù)的小數(shù)點(diǎn)位數(shù) *bool bcscale ( int $scale ) *$scale小數(shù)點(diǎn)位數(shù)默認(rèn)為 0 ******************************/ bcscale(2); ?>
運(yùn)行結(jié)果:
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"
PS:這里再為大家推薦幾款計(jì)算工具供大家進(jìn)一步參考借鑒:
在線一元函數(shù)(方程)求解計(jì)算工具:
http://tools.jb51.net/jisuanqi/equ_jisuanqi
科學(xué)計(jì)算器在線使用_高級(jí)計(jì)算器在線計(jì)算:
http://tools.jb51.net/jisuanqi/jsqkexue
在線計(jì)算器_標(biāo)準(zhǔn)計(jì)算器:
http://tools.jb51.net/jisuanqi/jsq
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《PHP數(shù)學(xué)運(yùn)算技巧總結(jié)》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結(jié)》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計(jì)算法總結(jié)》、《php正則表達(dá)式用法總結(jié)》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
關(guān)于php連接mssql:pdo odbc sql server
研究了很久,終于發(fā)現(xiàn):最新的php 5.3.6中php_mssql.dll,php_pdo_mssql.dll都已經(jīng)不見(jiàn)了。2011-07-07php圖像處理函數(shù)imagecopyresampled用法詳解
這篇文章主要介紹了php圖像處理函數(shù)imagecopyresampled用法,結(jié)合實(shí)例形式詳細(xì)分析了imagecopyresampled函數(shù)的功能、參數(shù)、使用方法,需要的朋友可以參考下2016-12-12PHP5.3的垃圾回收機(jī)制(動(dòng)態(tài)存儲(chǔ)分配方案)深入理解
垃圾回收機(jī)制是一種動(dòng)態(tài)存儲(chǔ)分配方案,它會(huì)自動(dòng)釋放程序不再需要的已分配的內(nèi)存塊,PHP也在語(yǔ)言層實(shí)現(xiàn)了內(nèi)存的動(dòng)態(tài)管理.內(nèi)存的動(dòng)態(tài)管理將開(kāi)發(fā)人員從繁瑣的內(nèi)存管理中解救出來(lái)2012-12-12詳解PHP中時(shí)間處理類(lèi)Carbon常用方法的使用
Carbon是php的日期處理類(lèi)庫(kù),繼承了PHP的Datetime類(lèi)。本文為大家詳細(xì)介紹了Carbon中常用的一些方法的使用,感興趣的小伙伴可以了解一下2022-05-05比較簡(jiǎn)單的百度網(wǎng)盤(pán)文件直鏈PHP代碼
通過(guò)正則表達(dá)式獲取百度網(wǎng)盤(pán)的文件真實(shí)地址,來(lái)實(shí)現(xiàn)直鏈的效果2013-03-03php將圖片保存入mysql數(shù)據(jù)庫(kù)失敗的解決方法
這篇文章主要介紹了php將圖片保存入mysql數(shù)據(jù)庫(kù)失敗的解決方法,詳細(xì)分析了php將圖片保存入數(shù)據(jù)庫(kù)遇到的問(wèn)題及對(duì)應(yīng)的解決方法,并總結(jié)了相關(guān)的技巧,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-12-12