導航:首頁 > 編程語言 > php小數運算

php小數運算

發布時間:2022-06-23 01:49:56

1. php小數與整數相加,希望高手幫幫忙

<?php

$a=1.5;$b=2;$c=1.4;

echo$a+$b+$c;

?>

2. php 科學計演算法 科學記數法 E 保留 小數位數

#捨去
echofloor(4.3);//4
#進一
echoceil(4.3);//5
#四捨五入
echoround(3.4);//3
echoround(3.5);//4

3. php中數字運算問題

ceil
(PHP 3, PHP 4 , PHP 5)

ceil -- 進一法取整
說明
float ceil ( float value)

返回不小於 value 的下一個整數,value 如果有小數部分則進一位。ceil() 返回的類型仍然是 float,因為 float 值的范圍通常比 integer 要大。

例子 1. ceil() 例子

<?php
echo ceil(4.3); // 5
echo ceil(9.999); // 10
?>

參見 floor() 和 round()。

4. 為什麼php用小數點相減不對呢

一則浮點數計算例子如下:
代碼如下:
$a = 0.2+0.7;
$b = 0.9;
var_mp($a == $b);
列印出的結果是:bool(false)。也就是說在這里 0.2+0.7 的計算結果與 0.9 並不相等,這顯然是有違我們的常識的。
對此問題,PHP官方手冊曾又說明:顯然簡單的十進制分數如 0.2 不能在不丟失一點點精度的情況下轉換為內部二進制的格式。這和一個事實有關,那就是不可能精確的用有限位數表達某些十進制分數。例如,十進制的 1/3 變成了 0.3333333...。
我們將上面的變數用雙精度格式列印出來:
代碼如下:
$a = 0.2+0.7;
$b = 0.9;
printf("%0.20f", $a);
echo '<br />';
printf("%0.20f", $b);
輸出結果如下:
代碼如下:
0.89999999999999991118
0.90000000000000002220
顯然在這里,實際上作為浮點型數據,其精度已經損失了一部分,達不到完全精確。所以永遠不要相信浮點數結果精確到了最後一位,也永遠不要比較兩個浮點數是否相等。需要說明的是,這不是PHP的問題,而是計算機內部處理浮點數的問題!在 C、JAVA 等語言中也會遇到同樣的問題。
所以要比較兩個浮點數,需要將其控制在我們需要的精度范圍內再行比較,因此使用 bcadd() 函數來對浮點數想加並進行精度轉換(為字元串):
代碼如下:
var_mp(bcadd(0.2,0.7,1) == 0.9); // 輸出:bool(true)
浮點數取整
在《PHP 取整函數 ceil 與 floor》一文中,曾有例子:
代碼如下:
<?php
echo ceil(2.1/0.7); // 輸出:4
?>
經過上面對浮點數計算的探討,知道這是浮點數計算結果不完全精確造成的:
代碼如下:
<?php
printf("%0.20f", (2.1/0.7)); // 輸出:3.00000000000000044409
?>
經過上面對浮點數計算的探討,知道這是浮點數計算結果不完全精確造成的,因此使用 round() 函數處理一下即可:
代碼如下:
<?php
echo ceil( round((2.1/0.7),1) );
?>
雖然 round() 函數是按照指定的精度進行四捨五入,但保留小數點後一位,對我們的取整結果是沒影響的。

5. php中如何計算圓的面積且保留兩位小數

PHP 中的 round() 函數可以實現
round() 函數對浮點數進行四捨五入。
round(x,prec)
參數說明
x 可選。規定要舍入的數字。
prec 可選。規定小數點後的位數。
返回將 x 根據指定精度 prec (十進制小數點後數字的數目)進行四捨五入的結果。prec 也可以是負數或零(默認值)。
注釋:PHP 默認不能正確處理類似 "12,300.2" 的字元串。
例如:
輸出: -4.64

6. 請教,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)." ";

7. php計算後如何取小數點前面的

<?php echo ceil($kkoi+$userid); ?>
上述ceil是系統四捨五入方法

8. 在PHP中怎麼取小數點後的位數,如:23.43453 要保留兩位小數怎麼取

round(23.43453,2);
四捨五入保留小數點後兩位

9. 怎麼用php編寫加減乘除

可以參考下面的代碼:

<?php

$a = 1;

$b = 2;

加法: $sum = $a + $b;

減法: $sum = $a - $b;

乘法: $sum = $a * $b;

除法: $sum = $a / $b;

(9)php小數運算擴展閱讀:

PHP的加密函數有crypt()、 md5() 和sha1() 這3種, 其中crypt() 用於單向加密, 所謂的單向加密就是將需要加密的內容進行加密之後, 無法將密文轉換成為可讀的內容, 因此單向加密的應用范圍較狹窄, 一般用於用戶名認證和密碼輸入等情況。

當用戶進入系統時,只需要將密文口令輸 入,經過系統驗證與存儲的口令一致, 即可通過。

sha1() 函數使用了SHA-1的散列演算法,其原理與md5() 類似。

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

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

也得不到0的,

閱讀全文

與php小數運算相關的資料

熱點內容
代碼加密常用方法 瀏覽:950
安卓手機如何解除已禁用 瀏覽:396
演算法的隨機性 瀏覽:485
高中解壓體育游戲 瀏覽:532
androidstudior丟失 瀏覽:345
命令行筆記 瀏覽:737
360目標文件夾訪問拒絕 瀏覽:518
3b編程加工指令 瀏覽:789
c8051f系列單片機選型手冊 瀏覽:772
南昌php程序員 瀏覽:511
bcs命令 瀏覽:446
如何在伺服器指向域名 瀏覽:417
車床編程可以做刀嗎 瀏覽:519
ln命令源碼 瀏覽:791
用粘液做解壓手套 瀏覽:331
icloud收信伺服器地址 瀏覽:500
編程思考者 瀏覽:453
壓縮機型號用什麼氟利昂 瀏覽:553
農機空氣壓縮機 瀏覽:666
程序員下載歌曲 瀏覽:897