當前位置:首頁 » 編程語言 » phpbcadd

phpbcadd

發布時間: 2023-03-23 02:29:43

php-bc函數及其應用詳解

bcadd —— 兩個任意精度數字的加法計算 (PHP 4, PHP 5, PHP 7, PHP 8)

bcadd ( string $num1 , string $num2 , ?int $scale = null ): string

註:對 num1 和 num2 求和。

參數:

num1 — 左操作數,字元串類型。

num2 — 右操作數,字元串類型。

scale — 此可選參數用於設置結果中小數點後的小數位數。也可通過使用 bcscale() 來設置全局默認的小數位數,用於所有函數。如果未設置,則默認為 0。 現在 scale 可以為 null。

返回值: 以字元串返回兩個操作數求和之後的結果。

範例:

bcsub —— 兩個任意精度數字的減法 (PHP 4, PHP 5, PHP 7, PHP 8)

bcsub ( string $num1 , string $num2 , ?int $scale = null ): string

註: num1 減去 num2 。

參數:

num1 — 左操作數,字元串類型。

num2 — 右操作數,字元串類型。

scale — 此可選參數用於設置結果中小數點後的小數位數。也可通過使用 bcscale() 來設置全局默認的小數位數,用於所有函數。如果未設置,則默認為 0。 現在 scale 可以為 null。

返回值: 以 string 類型返回減法之後的結果。

範例:

bcmul —— 兩個任意精度數字乘法計算 (PHP 4, PHP 5, PHP 7, PHP 8)

bcmul ( string $num1 , string $num2 , ?int $scale = null ): string

註: num1 乘以 num2 。

參數:

num1 — 左操作數,字元串類型。

num2 — 右操作數,字元串類型。

scale — 此可選參數用於設置結果中小數點後的小數位數。也可通過使用 bcscale() 來設置全局默認的小數位數,用於所有函數。如果未設置,則默認為 0。 現在 scale 可以為 null。

返回值: 以 string 類型返回減法之後的結果。

範例:

bcp —— 兩個任意精度的數字除法計算 (PHP 4, PHP 5, PHP 7, PHP 8)

bcp ( string $num1 , string $num2 , ?int $scale = null ): string

註: num1 除以 num2 。

參數:

num1 — 左操作數,字元串類型。

num2 — 右操作數,字元串類型。

scale — 此可選參數用於設置結果中小數點後的小數位數。也可通過使用 bcscale() 來設置全局默認的小數位數,用於所有函數。如果未設置,則默認為 0。 現在 scale 可以為 null。

返回值: 以 string 類型返回減法之後的結果。

範例:

bccomp —— 比較兩個任意精度的數字 (PHP 4, PHP 5, PHP 7, PHP 8)

bccomp ( string $num1 , string $num2 , ?int $scale = null ): int

註: 比較 num1 和 num2 , 並且返回整型數字的結果。

參數:

num1 — 左邊的運算數,是一個字元串。

num2 — 右邊的運算數,是一個字元串。

scale — 可選的 scale 參數被用作設置指示數字, 在使用來作比較的小數點部分。

返回值: 兩個數相等時返回 0; num1 比 num2 小時返回 -1; 其他則返回 1。現在 scale 可以為 null。

範例:

bcmod —— 任意精度數字取模 (PHP 4, PHP 5, PHP 7, PHP 8)

bcmod ( string $num1 , string $num2 , ?int $scale = null ): string

註: 對 num1 使用 num2 取模。 除非 num2 是零,否則結果必定和 num1 有相同的符號。

參數:

num1 — string 類型的被除數。

num2 — string 類型的除數。

scale — 現在 scale 可以為 null。

返回值: 返回字元串類型取模後的結果,如果 num2 為 0 則返回 null。

範例:

bcpow—— 任意精度數字的乘方 (PHP 4, PHP 5, PHP 7, PHP 8)

bcpow ( string $num , string $exponent , ?int $scale = null ): string

註: num 的 exponent 次方運算。

參數:

num — string 類型的底數。

exponent — string 類型的指數。 如果指數不是整數,將被截斷。 指數的有效范圍取決於平台,但起碼支持 -2147483648 到 2147483647 的范圍。

scale — 此可選參數用於設置結果中小數點後的小數位數。也可通過使用 bcscale() 來設置全局默認的小數位數,用於所有函數。如果未設置,則默認為 0。

返回值: 返回字元串類型的結果。

範例:

bcpowmod —— 先取次方然後 取模 。 (PHP 5, PHP 7, PHP 8)

bcpowmod ( string $num , string $exponent , string $molus , ?int $scale = null ): string

註: 先取次方然後取模。

參數:

base — 左操作數。它是一個字元串類型的參數。

exponent — string 類型的指數。 指數的正確操作數。

molus — string 類型的 參 數。 接受表示模數的操作數。

scale — 一個整數類型參數。它說明 ( base exponent %mod ) 結果中小數點後的位數。其默認值為 0。

返回值: 該函數將結果作為字元串返回。或者,如果模數為 0 或指數為負,則返回 False。

範例:

bcscale —— 設置/獲取所有 bc math 函數的默認小數點保留位數 (PHP 4, PHP 5, PHP 7, PHP 8)

bcscale ( int $scale ): int

設置所有 bc math 函數在未設定情況下的小數點保留位數。

bcscale ( null $scale = null ): int

註: 獲取當前的小數點保留位數。

參數:

scale — 小數點保留位數。

返回值: 設置的時候,返回之前的小數點保留位數。否則就是返回當前的位數。

範例:

bcsqrt —— 任意精度數字的二次方根 (PHP 4, PHP 5, PHP 7, PHP 8)

bcsqrt ( string $num , ?int $scale = null ): string

註: 返回 num 的二次方根。

參數:

num — string 類型的操作數 。

scale — 此可選參數用於設置結果中小數點後的小數位數。也可通過使用 bcscale() 來設置全局默認的小數位數,用於所有函數。如果未設置,則默認為 0。

返回值: 以 string 類型返回二次方根的結果,如果 num 是負數則返回 null。

範例:

② php 字元串0.01124怎麼轉換成浮點型不失精度

使用(float)強轉即可:

<?php
$str='0.01124';
$num=(float)$str;
var_mp($num);
/*
float(0.01124)
*/

③ php裡面bcadd是什麼意思

PHP 為任意精度數學計算提供了二進制計算器(Binary Calculator),它支持任意大小和精度的數字,以字元串形式描述

bcadd — 加法
bccomp — 比較
bcdiv — 相除
bcmod — 求余數
bcmul — 乘法
bcpow — 次方
bcpowmod — 先次方然後求余數
bcscale — 給所有函數設置小數位精度
bcsqrt — 求平方根
bcsub — 減法

④ PHP計算百分比的公式函數,如何把數值裝進計算

1、按題意字面理解,不用函數,直接在單元格輸入公式「=25/336」,回車,即可返回所需比例值。 2、如果336人是一列(如A1:A336)姓名明細,25人是在另列(如B1:B336)用「派出」、「留用」、「等待」等字樣標出,則可在任意單元格輸入公式「=COUNTIF(B1:B336,"派出")/COUNTA(A1:A336)」進行計算。 建議,將你的示例上傳,以便有的放矢。

⑤ PHP價格相加精度問題如何循環使用

$price = [123,456,789,110];
$temp = 0;
$total = 0;
foreach($price as $p){
$total = bcadd($p,$temp,5);
$temp = $total;
}
echo $total;die;
設置一個中間變數不就得了。。。。

⑥ ThinkPHP出現Call to undefined function bcadd怎麼解決

主要是因為ThinkPHP框架程序需要用到PHPbcmath擴展,而在默認我們安裝或者編譯PHP的時候沒有一並編譯進來。

我們有兩個方法解決這個問題,一來重新編譯PHP,把bcmath 重新添加編譯,只是這個過程需要一些時間,或者我們下載PHP源碼到伺服器中,然後類似前天安裝soap擴展一樣的單獨編譯enable啟動。這里,老蔣選擇後者。

第一、選擇PHP版本進入目錄

這里我看到這位網友使用的是PHP5.3.17而且在當初是從WDCP面板5.2升級的,根目錄有的安裝包沒有刪除,所以我就不要去PHP官方網站刪除,直接cd進入/ext/bcmath目錄。

第二、編譯啟動bcmath過程

代碼如下

/usr/local/php/bin/phpize
./configure--with-php-config=/www/wdlinux/php/bin/php-config--enable-bcmath
make&&makeinstall

執行完畢之後,我們可以看到 :

代碼如下

/www/wdlinux/apache_php-5.3.17/lib/php/extensions/no-debug-non-zts-20090626/

這樣子的目錄URL地址,這里記錄下來,然後添加到對應的PHP版本PHP.INI文件最後一行。

代碼如下

extension=/www/wdlinux/apache_php-5.3.17/lib/php/extensions/no-debug-non-zts-20090626/bcmath.so

第三、重啟生效

代碼如下

service httpd restart

從探針中可以看到bcmath擴展已經啟動生效,安裝ThinkPHP程序環境已經沒有問題,網友告知已經可以解決問題,看來就是這個擴展作怪導致無法安裝,與此同時,如果有缺少其他PHP擴展,也是用這個方法安裝

更多問題可以去php中文網問答社區提問http://www.php.cn/wenda.html,大神在線幫你解決,希望對你有幫助

⑦ 請教,php保留兩位小數,但不四捨五入

使用bc一類的函數,按字元串方式運算即可。
/**
*數值非四捨五入保留兩位小數
*@authorZjmainstay
*@websitehttp://www.zjmainstay.cn
*@param$num數值
*@return保留兩位小數
*/
functiongetNum($num,$scale=2){
$numStr=(string)$num.str_repeat('0',$scale);

//匹配精度前的數值
if(preg_match('#^d+.d{0,'.$scale.'}#',$numStr,$match)){
return$match[0];
}else{
return'0';
}
}

echogetNum(10.0253)." ";
echogetNum(0.5)." ";

熱點內容
腳本精靈並且 發布:2024-05-20 11:39:40 瀏覽:265
綠盟登陸器單機怎麼配置列表 發布:2024-05-20 11:34:34 瀏覽:970
Android省電軟體 發布:2024-05-20 11:25:00 瀏覽:340
android鍵盤隱藏 發布:2024-05-20 11:23:40 瀏覽:522
瘋狂點擊的點擊腳本 發布:2024-05-20 11:09:06 瀏覽:685
飯團文件夾 發布:2024-05-20 10:56:18 瀏覽:574
win10系統重置密碼是多少 發布:2024-05-20 10:47:51 瀏覽:992
java加包 發布:2024-05-20 10:39:12 瀏覽:713
網吧里的電影怎麼傳伺服器 發布:2024-05-20 10:31:12 瀏覽:809
新年解壓糖 發布:2024-05-20 09:50:55 瀏覽:55