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

phpbcsub

發布時間: 2023-04-28 15:18:38

php中3個小數的計算,如134.7-52.5 - 82.2,為什麼結果不是0而是一個奇怪的科學計數法

樓上的回答很詳細了,而且,這不僅僅是php的問題,你在js里console.log(134.7-52.5 - 82.2)

也得不到0的,

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

round() 函數知橡握

語法
round(x,prec)

參數

x
可選。搭慶規定要舍入的數字。

prec
可選。規定小數點後的位數。

說明

返回將 x 根據指定精度 prec (十進制小數點後數字的數目)進行四舍如森五入的結果。prec 也可以是負數或零(默認值)。

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

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

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

使用(float)強轉即可:

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

Ⅳ 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裡面bcadd是什麼意思

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

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

Ⅶ 如何轉換的IPv6從二進制存儲在Mysql-php,mysql,ipv6

下面是函數我從和DECIMAL(正渣39,0)格式轉換IP地址。他們是inet_ptod和inet_dtop為「呈現到十進制」和姿清搏「十進制到演示文跡祥稿」。它需要IPv6和在PHP
bcmath時支持。 /**
* Convert an IP address from presentation to decimal(39,0) format suitable for storage in MySQL
*
* @param string $ip_address An IP address in IPv4, IPv6 or decimal notation
* @return string The IP address in decimal notation
*/
function inet_ptod($ip_address)
{
// IPv4 address
if (strpos($ip_address, ':') === false && strpos($ip_address, '.') !== false) {
$ip_address = '::' . $ip_address;
}

// IPv6 address
if (strpos($ip_address, ':') !== false) {
$network = inet_pton($ip_address);
$parts = unpack('N*', $network);

foreach ($parts as &$part) {
if ($part < 0) {
$part = bcadd((string) $part, '4294967296');
}

if (!is_string($part)) {
$part = (string) $part;
}
}

$decimal = $parts[4];
$decimal = bcadd($decimal, bcmul($parts[3], '4294967296'));
$decimal = bcadd($decimal, bcmul($parts[2], '18446744073709551616'));
$decimal = bcadd($decimal, bcmul($parts[1], '79228162514264337593543950336'));

return $decimal;
}

// Decimal address
return $ip_address;
}

/**
* Convert an IP address from decimal format to presentation format
*
* @param string $decimal An IP address in IPv4, IPv6 or decimal notation
* @return string The IP address in presentation format
*/
function inet_dtop($decimal)
{
// IPv4 or IPv6 format
if (strpos($decimal, ':') !== false || strpos($decimal, '.') !== false) {
return $decimal;
}

// Decimal format
$parts = array();
$parts[1] = bcdiv($decimal, '79228162514264337593543950336', 0);
$decimal = bcsub($decimal, bcmul($parts[1], '79228162514264337593543950336'));
$parts[2] = bcdiv($decimal, '18446744073709551616', 0);
$decimal = bcsub($decimal, bcmul($parts[2], '18446744073709551616'));
$parts[3] = bcdiv($decimal, '4294967296', 0);
$decimal = bcsub($decimal, bcmul($parts[3], '4294967296'));
$parts[4] = $decimal;

foreach ($parts as &$part) {
if (bccomp($part, '2147483647') == 1) {
$part = bcsub($part, '4294967296');
}

$part = (int) $part;
}

$network = pack('N4', $parts[1], $parts[2], $parts[3], $parts[4]);
$ip_address = inet_ntop($network);

// Turn IPv6 to IPv4 if it's IPv4
if (preg_match('/^::\d+.\d+.\d+.\d+$/', $ip_address)) {
return substr($ip_address, 2);
}

return $ip_address;
}

熱點內容
伺服器存儲1gb租賃費多少錢 發布:2024-11-01 12:38:09 瀏覽:871
蘋果6vpn添加配置怎麼弄 發布:2024-11-01 12:36:18 瀏覽:796
職場的幸福密碼是什麼 發布:2024-11-01 12:34:57 瀏覽:748
18經驗起床的伺服器ip 發布:2024-11-01 12:30:15 瀏覽:39
這個鎖屏密碼是什麼 發布:2024-11-01 12:24:51 瀏覽:92
相機存儲卡排名 發布:2024-11-01 12:24:49 瀏覽:958
androidxml格式化 發布:2024-11-01 12:23:14 瀏覽:165
Vb6編譯是錯誤不知道錯誤代碼 發布:2024-11-01 12:16:23 瀏覽:159
區域網電腦訪問伺服器怎麼提速 發布:2024-11-01 12:14:09 瀏覽:322
美創資料庫 發布:2024-11-01 12:05:45 瀏覽:916