久久精品五月,日韩不卡视频在线观看,国产精品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综合
电影亚洲精品噜噜在线观看| 三级欧美韩日大片在线看| 亚洲一区二区日韩| 丝袜脚交一区二区| 亚州精品视频| 91欧美日韩在线| 麻豆久久一区| 日韩欧美综合| 亚洲专区欧美专区| 日本成人中文字幕在线视频| 视频在线在亚洲| 深夜福利一区| 国产精品乱战久久久| 91青青国产在线观看精品| 日韩在线观看不卡| 一区久久精品| 欧美精品国产白浆久久久久| 欧美激情日韩| 五月激情久久| 免费在线成人网| 国产精品亚洲综合色区韩国| 都市激情国产精品| 欧美精品自拍| 欧美一级全黄| 激情黄产视频在线免费观看| 91精品1区| 久久国际精品| 免费一二一二在线视频| 视频一区免费在线观看| 欧美国产极品| 性色av一区二区怡红| 国产精品亚洲二区| 欧美成人基地| 欧美午夜三级| 亚洲午夜电影| 久久99久久人婷婷精品综合| 午夜久久黄色| 麻豆91精品视频| 国产精品外国| 精品美女久久| 乱人伦精品视频在线观看| 国产三级精品三级在线观看国产| 国产精品成人一区二区不卡| 免费在线观看视频一区| 国产a亚洲精品| 蜜桃久久久久久久| 日韩在线二区| 日韩精彩视频在线观看| 国产99久久| 国产精品sm| 久久午夜影视| 久久蜜桃av| 精品久久97| 欧美日本久久| 免费人成在线不卡| 午夜av成人| 91综合久久爱com| 九九综合九九| av最新在线| 国产精品一区二区三区www| 91久久午夜| 日韩视频网站在线观看| 国产欧美精品| 免费看黄色91| 亚洲第一区色| 国产一区二区三区黄网站| 91欧美日韩在线| 日本 国产 欧美色综合| 亚洲性图久久| 最新中文字幕在线播放| 国产精品探花在线观看| 夜久久久久久| 久久精品亚洲人成影院| 久久精品毛片| 国产精品一区二区av日韩在线| 色狠狠一区二区三区| 亚洲专区在线| 免费观看不卡av| 成人久久一区| 国产欧洲在线| 日韩av在线播放网址| 久久精品72免费观看| 亚洲欧美专区| 亚洲精品三级| 亚洲最新av| 综合亚洲视频| 午夜一区在线| 日韩专区在线视频| 欧美综合国产| 久久国产精品99国产| 合欧美一区二区三区| 欧美午夜不卡| 模特精品在线| 亚洲毛片视频| 日韩精品中文字幕吗一区二区| 亚洲精品乱码日韩| 日韩精品高清不卡| 日本不卡一二三区黄网| 亚洲精品在线国产| 日韩精品免费一区二区夜夜嗨| 亚欧洲精品视频在线观看| 日韩制服丝袜先锋影音| 中文字幕日韩高清在线| 日韩激情精品| 国产精品观看| 麻豆视频一区二区| 超碰在线99| 亚洲福利一区| 久久国产高清| 国产日韩一区| 国产一区不卡| 国内激情久久| 蜜臀av性久久久久蜜臀aⅴ流畅| 综合视频一区| 欧美亚洲tv| 水蜜桃久久夜色精品一区| 国产一区二区三区四区| 久久国产欧美| 久久国产高清| 国产精品极品在线观看| 天堂中文av在线资源库| 欧美日韩水蜜桃| 免费成人av在线播放| 国产欧美日本| 国产麻豆久久| 中文字幕亚洲在线观看| 久久亚洲国产精品尤物| 国产99精品| 日韩超碰人人爽人人做人人添| 老司机精品在线| 伊人精品一区| 日本成人手机在线| 日韩中文首页| 亚洲乱亚洲高清| 久久精品国产久精国产| 亚洲婷婷在线| 欧美日韩网址| 国产成人免费| 一区二区亚洲视频| 麻豆91精品视频| 亚洲美洲欧洲综合国产一区| 久久黄色影视| 欧美~级网站不卡| 欧美在线精品一区| 欧美日韩免费观看视频| 中文字幕中文字幕精品| 你懂的国产精品永久在线| 亚洲黑丝一区二区| 国产精品成人一区二区网站软件| 在线日韩欧美| 国产精品xxxav免费视频| 欧美日韩激情在线一区二区三区| 国产精品中文字幕制服诱惑| 欧美~级网站不卡| 欧美激情视频一区二区三区在线播放| 影音先锋久久| 精品久久97| 日本免费一区二区视频| 视频福利一区| 国产精品视频一区视频二区| 黄色成人精品网站| 老司机精品视频网| 视频一区二区三区在线| 日韩一区自拍| 国产欧美综合一区二区三区| 亚州av乱码久久精品蜜桃| 精品久久影院| 91欧美日韩在线| 三级在线观看一区二区| 青青久久av| 久久这里只有| 日韩精品久久理论片| 91成人精品视频| www在线观看黄色| 国产精品mm| 7777精品| 亚洲三级精品| 麻豆9191精品国产| 亚洲精品va| 九九精品调教| 国产不卡人人| 国产不卡一区| 成午夜精品一区二区三区软件| 国产欧美日韩精品高清二区综合区| 亚洲精品无吗| 亚洲精品综合| 国产精品日韩久久久| 今天的高清视频免费播放成人| 都市激情国产精品| 国产一区二区三区网| 麻豆精品久久久| 日韩国产欧美三级| 综合激情网...| 久久亚洲美女| 视频一区二区国产| 中文不卡在线| 四虎精品永久免费| 日本综合视频| 7777精品| 久久爱www成人|