久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長資訊網
最全最豐富的資訊網站

php下的浮點運算準不準

不準,php下的浮點運算存在誤差。在PHP中,浮點數的精度有限;盡管取決于系統,PHP通常使用 IEEE 754雙精度格式,則由于取整而導致的最大相對誤差為“1.11e-16”;而非基本數學運算可能會給出更大誤差,并且要考慮到進行復合運算時的誤差傳遞。

php下的浮點運算準不準

本教程操作環境:windows7系統、PHP8版、DELL G3電腦

浮點數運算的“鍋”

//加 $a = 0.1; $b = 0.7; $c = intval(($a + $b) * 10); echo $c."<br>"; //輸出:7  //減 $a = 100; $b = 99.98; $c = $a - $b; echo $c."<br>"; //輸出:0.019999999999996  //乘 $a = 0.58; $b = 100; $c = intval($a * $b); echo $c."<br>"; //輸出:57  //除 $a = 0.7; $b = 0.1; $c = intval($a / $b); echo $c."<br>"; //輸出:6
登錄后復制

上面的結果,顯然不是我們想要的!

PHP 官方手冊解釋如下:

浮點數的精度有限。盡管取決于系統,PHP 通常使用 IEEE 754 雙精度格式,則由于取整而導致的最大相對誤差為 1.11e-16。非基本數學運算可能會給出更大誤差,并且要考慮到進行復合運算時的誤差傳遞。永遠不要相信浮點數結果精確到了最后一位,也永遠不要比較兩個浮點數是否相等。如果確實需要更高的精度,應該使用任意精度數學函數 或者 gmp 函數

這里的關鍵在于,浮點數的小數用二進制的表示,過程如下:

  • 將小數乘以2,取整數部分表示第一位;
  • 將小數部分乘以2,取整數部分表示第二位;
  • 再將小數部分乘以2,取整數部分表示第三位;
  • … 依次類推,直到小數部分為0;

例:0.58

  • 0.58 * 2 = 1.16 —> 1
  • 0.16 * 2 = 0.32 —> 0
  • 0.32 * 2 = 0.64 —> 0
  • 0.64 * 2 = 1.28 —> 1
  • 0.28 * 2 = 0.56 —> 0
  • 0.56 * 2 = 1.12 —> 1
  • 0.12 * 2 = 0.24 —> 0
  • 0.24 * 2 = 0.48 —> 0
  • 0.48 * 2 = 0.96 —> 0
  • 0.96 * 2 = 1.92 —> 1

我們會得到一個無限循環的二進制小數:

0.1001010001…

小數部分出現循環,有限的二進制位無法準確的表示一個小數,這也就是小數運算出現誤差的原因。

接下來給大家介紹 任意精度數學函數。

任意精度數學函數

對于任意精度的數學,PHP 提供了支持用字符串表示的任意大小和精度的數字的二進制計算。

BCMath:BC 是 Binary Calculator 的縮寫。

官方手冊:http://php.net/manual/zh/book.bc.php

大家在使用前,請先確認是否已安裝 bcmath。

//加 $a = 0.1; $b = 0.7; $c = intval(bcadd($a, $b, 1) * 10); echo $c."<br>"; //輸出:8  //減 $a = 100; $b = 99.98; $c = bcsub($a, $b, 2); echo $c."<br>"; //輸出:0.02  //乘 $a = 0.58; $b = 100; $c = intval(bcmul($a, $b)); echo $c."<br>"; //輸出:58  //除 $a = 0.7; $b = 0.1; $c = intval(bcdiv($a, $b)); echo $c."<br>"; //輸出:7
登錄后復制

除了加減乘除,bcmath 還提供了以下方法:

  • bccomp 比較兩個任意精度的數字
  • bcmod 對一個任意精度數字取模
  • bcpow 任意精度數字的乘方
  • bcpowmod 高精度數字乘方求模
  • bcscale 設置所有bc數學函數的默認小數點保留位數
  • bcsqrt 任意精度數字的二次方根

常用數值處理方案

舍去法取整(向下取整)

echo floor(5.1); //輸出:5  echo floor(8.8); //輸出:8
登錄后復制

進一法取整(向上取整)

echo ceil(5.1); //輸出:6  echo ceil(8.8); //輸出:9
登錄后復制

普通四舍五入法

echo round(5.1); //輸出:5  echo round(8.8); //輸出:9  //保留兩位小數并且進行四舍五入 echo round(5.123, 2); //輸出:5.12  echo round(8.888, 2); //輸出:8.89  //保留兩位小數并且不進行四舍五入 echo substr(round(5.12345, 3), 0, -1); //輸出:5.12  echo substr(round(8.88888, 3), 0, -1); //輸出:8.88
登錄后復制

銀行家舍入法

四舍六入五考慮,五后非空就進一,五后為空看奇偶,五前為偶應舍去,五前為奇要進一。

保留兩位小數,例:

  • 1.2849 = 1.28 -> 四舍
  • 1.2866 = 1.29 -> 六入
  • 1.2851 = 1.29 -> 五后非空就進一
  • 1.2850 = 1.28 -> 五后為空看奇偶,五前為偶應舍去
  • 1.2750 = 1.28 -> 五后為空看奇偶,五前為奇要進一

實現代碼如下:

echo round(1.2849, 2, PHP_ROUND_HALF_EVEN); //輸出:1.28  echo round(1.2866, 2, PHP_ROUND_HALF_EVEN); //輸出:1.29  echo round(1.2851, 2, PHP_ROUND_HALF_EVEN); //輸出:1.29  echo round(1.2850, 2, PHP_ROUND_HALF_EVEN); //輸出:1.28  echo round(1.2750, 2, PHP_ROUND_HALF_EVEN); //輸出:1.28
登錄后復制

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
日本国产欧美| 日韩欧美另类一区二区| 日韩av一区二区三区四区| 久久天堂精品| 久久国产影院| 亚洲精品一区三区三区在线观看| 国产一区二区亚洲| а√天堂8资源在线| 欧美亚洲日本精品| 久久久久免费av| 伊人成人网在线看| 亚欧洲精品视频在线观看| 日韩欧美三区| 精品一区二区三区亚洲| 久久激情婷婷| 日韩中文字幕亚洲一区二区va在线| 蜜臀精品久久久久久蜜臀| 亚洲狼人精品一区二区三区| 欧美久久久网站| 日韩中文字幕高清在线观看| 欧美日韩国产精品一区二区亚洲| 中文字幕av一区二区三区人| 日本午夜精品一区二区三区电影| 日本欧洲一区二区| 欧美国产专区| 视频一区中文字幕精品| 欧美一区影院| 日韩精品诱惑一区?区三区| 日韩一区二区三区在线免费观看| 影视先锋久久| 亚州精品视频| 蜜臀av在线播放一区二区三区| 麻豆精品视频在线观看视频| 亚洲一级特黄| 久久久久久久久成人| 香蕉精品999视频一区二区| 国产一区二区精品福利地址| 日韩欧美久久| 在线一区视频| 日本不卡在线视频| 日韩一区二区三区免费播放| 亚洲深深色噜噜狠狠爱网站| 亚洲欧美高清| 亚洲一级少妇| 97精品一区| 夜鲁夜鲁夜鲁视频在线播放| 国产精品毛片久久| 国产精品欧美在线观看| 日韩中文在线播放| 日韩成人精品一区二区| 国产一区二区三区免费在线| 久久av网站| 欧美一区=区| 午夜欧美在线| 男女激情视频一区| 欧美一区三区| 精品国产精品久久一区免费式| 在线观看亚洲精品福利片| 日韩免费福利视频| 在线看片国产福利你懂的| 久久精品福利| 亚洲资源网站| 久久成人精品| 国产精品专区免费| 丰满少妇一区| 成年男女免费视频网站不卡| 精品精品99| 国产伦一区二区三区| 亚洲精品无播放器在线播放| 老司机久久99久久精品播放免费| 久久国产人妖系列| 欧美激情麻豆| 欧美亚洲免费| 国产乱码精品一区二区三区亚洲人| 日本午夜精品| 69堂免费精品视频在线播放| 久久国产精品色av免费看| 精品黄色一级片| 国产精品一级在线观看| 国产精品www.| 日韩综合在线| 免费毛片在线不卡| 精品一区在线| 日本一区二区三区中文字幕| 亚洲精品黄色| 国产精品久一| av资源中文在线| 国产综合婷婷| 亚洲三级视频| 久久中文字幕导航| 精品成人免费一区二区在线播放| 婷婷亚洲综合| 日韩av资源网| 国产精品一卡| 久久视频精品| 亚洲精品动态| 日韩精品电影| 日韩国产欧美视频| 黑森林国产精品av| 日韩中文欧美在线| 精品日本视频| 亚洲精品乱码久久久久久蜜桃麻豆| 国产精品白丝一区二区三区| 激情偷拍久久| 精品欠久久久中文字幕加勒比| 亚洲一区二区成人| 中文字幕在线官网| 国产欧美三级| 亚洲a一区二区三区| 国产精品日本一区二区三区在线| 最新日韩av| 日韩欧美一区二区三区在线视频| 天堂久久一区| 国产婷婷精品| 欧美日韩国产高清| 日韩在线免费| 欧美激情亚洲| 青草综合视频| 亚洲三级网站| 免费视频最近日韩| 亚洲黄色影院| 亚洲黄页一区| 99成人在线| 国产成人精选| 美女国产一区二区三区| 91精品国产自产精品男人的天堂 | 香蕉成人久久| 成人亚洲一区| 久久久精品区| 国产精品一区二区中文字幕| 丝袜美腿亚洲一区二区图片| 久久在线免费| 欧美亚洲在线日韩| 国产夫妻在线| 亚洲黄色网址| 国产精品久久久久久久久妇女| 美女在线视频一区| 欧美激情福利| 麻豆91在线播放| 精品国产亚洲日本| 视频二区不卡| 亚洲在线电影| 日韩精品导航| 欧美aⅴ一区二区三区视频| 国产精品久久| 亚洲伊人av| 影院欧美亚洲| 亚洲精品美女| 男女性色大片免费观看一区二区 | 久久国产免费看| 麻豆免费精品视频| 国产在线不卡| 日韩国产精品久久久| a国产在线视频| 亚洲一区久久| 欧美日韩亚洲一区三区| 精品中文字幕一区二区三区四区| 精品美女视频 | 亚洲日产国产精品| 97欧美在线视频| 黑丝一区二区| 国产亚洲欧美日韩精品一区二区三区 | 蜜桃精品在线| 国产精品老牛| 欧美日韩xxxx| 中文字幕在线官网| 欧美精品自拍| 成人在线黄色| 婷婷综合成人| 美女毛片一区二区三区四区| 麻豆一区二区在线| 首页欧美精品中文字幕| 中文字幕在线视频网站| 日韩精品一二三四| 欧美精品资源| 国产精品久久久久久久久久白浆| 一区二区视频欧美| 国产精品网在线观看| 黄色在线一区| 日韩精品麻豆| 日韩1区2区日韩1区2区| 图片区亚洲欧美小说区| 国产精品久久观看| 欧美激情视频一区二区三区免费| 日韩精品三级| 免费在线观看一区二区三区| 在线日韩视频| 日韩在线免费| 国产资源在线观看入口av| 国产精品嫩草影院在线看| 亚洲aa在线| 另类av一区二区| 欧美日韩国产观看视频| 久久精品一本| 国产美女精品视频免费播放软件| 亚洲婷婷丁香| 亚洲精品乱码久久久久久蜜桃麻豆| 在线亚洲激情| 国产精品普通话对白| 欧美日韩国产亚洲一区|