亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

簡單談談php浮點數精確運算

2024-05-04 23:43:44
字體:
來源:轉載
供稿:網友
如果用php的+-*/計算浮點數的時候,可能會遇到一些計算結果錯誤的問題,所以基本上大部分語言都提供了精準計算的類庫或函數庫,比如php有BC高精確度函數庫,下面我們介紹一下一些常用的BC高精確度函數使用。
 

bc是Binary Calculator的縮寫。bc*函數的參數都是操作數加上一個可選的 [int scale],比如string bcadd(string $left_operand, string $right_operand[, int $scale]),如果scale沒有提供,就用bcscale的缺省值。這里大數直接用一個由0-9組成的string表示,計算結果返回的也是一個 string。

bcadd — 將兩個高精度數字相加 
bccomp — 比較兩個高精度數字,返回-1, 0, 1 
bcdiv — 將兩個高精度數字相除 
bcmod — 求高精度數字余數 
bcmul — 將兩個高精度數字相乘 
bcpow — 求高精度數字乘方 
bcpowmod — 求高精度數字乘方求模,數論里非常常用 
bcscale — 配置默認小數點位數,相當于就是Linux bc中的”scale=” 
bcsqrt — 求高精度數字平方根 
bcsub — 將兩個高精度數字相減

首先看一段代碼:

<?php$a = 0.1;$b = 0.7;var_dump(($a + $b) == 0.8);

打印出來的值居然為 boolean false

這是為啥?PHP手冊對于浮點數有以下警告信息:

Warning 
浮點數精度
顯然簡單的十進制分數如同 0.1 或 0.7 不能在不丟失一點點精度的情況下轉換為內部二進制的格式。這就會造成混亂的結果:例如,floor((0.1+0.7)*10) 通常會返回 7 而不是預期中的 8,因為該結果內部的表示其實是類似 7.9999999999...。 
這和一個事實有關,那就是不可能精確的用有限位數表達某些十進制分數。例如,十進制的 1/3 變成了 0.3333333. . .。 
所以永遠不要相信浮點數結果精確到了最后一位,也永遠不要比較兩個浮點數是否相等。如果確實需要更高的精度,應該使用任意精度數學函數或者 gmp 函數

那么上面的算式我們應該改寫為

<?php$a = 0.1;$b = 0.7;var_dump(bcadd($a,$b,2) == 0.8);

這樣就能解決浮點數的計算問題了



注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久久久久久久久成人| 亚洲a级在线观看| 欧美激情中文网| 欧美日韩国产成人在线| 国产综合久久久久| 欧美高跟鞋交xxxxhd| 久操成人在线视频| 91九色在线视频| 青青在线视频一区二区三区| 色婷婷av一区二区三区久久| 国产欧美日韩免费| 国产在线观看一区二区三区| 亚洲国产精彩中文乱码av在线播放| 亚洲欧美中文日韩在线| 欧美日韩国产中文精品字幕自在自线| 一本色道久久综合亚洲精品小说| 亚洲图片欧洲图片av| 亚洲色图在线观看| 亚洲网站在线观看| 少妇激情综合网| 久久久久久久成人| 国产成人精品视频| 久久精品电影网站| 日韩大片免费观看视频播放| 亚洲视频在线观看网站| 日本中文字幕成人| 中文字幕欧美日韩va免费视频| 日韩成人高清在线| 97国产一区二区精品久久呦| 亚洲美女又黄又爽在线观看| 国产精品成人一区二区| 欧美激情按摩在线| 欧美午夜视频一区二区| www.午夜精品| 一区二区av在线| 国产精品免费观看在线| 中文字幕日韩高清| 91黑丝在线观看| 久久精品国产欧美亚洲人人爽| 欧美一级黑人aaaaaaa做受| 国产精品久久久久99| 精品亚洲精品福利线在观看| 国产一区二区香蕉| 欧美激情中文字幕乱码免费| 国产97在线视频| 青草成人免费视频| 91av成人在线| 亚洲欧美在线看| 国产精品99久久久久久人| 91在线无精精品一区二区| 91美女片黄在线观| 精品亚洲一区二区三区在线播放| 38少妇精品导航| 成人淫片在线看| 日韩视频在线一区| 亚洲一区二区日本| 欧美视频在线观看免费网址| 久久黄色av网站| 国产一区二区三区三区在线观看| 久久久av免费| 欧美激情免费在线| 中文字幕日韩在线视频| 亚洲精品www久久久久久广东| 91精品国产91久久久| 青青草一区二区| www.日本久久久久com.| 欧美在线一级va免费观看| 26uuu亚洲国产精品| 亚洲第一色中文字幕| 久久国产精品首页| 欧美日韩在线视频首页| 欧美激情综合亚洲一二区| 91国产视频在线播放| 97碰在线观看| 性色av一区二区三区红粉影视| 欧美电影在线观看完整版| 国产精品久久久久久久久借妻| 日韩在线免费av| 欧美国产日本在线| 91精品国产91久久久久福利| 国产精品夜色7777狼人| 色偷偷av亚洲男人的天堂| 久青草国产97香蕉在线视频| 欧美视频一区二区三区…| 国产精品爽黄69| 国产午夜精品视频免费不卡69堂| 亚洲春色另类小说| 国产不卡精品视男人的天堂| 亚洲色图av在线| 日韩国产高清视频在线| 亚洲伦理中文字幕| 国产成人欧美在线观看| 欧美男插女视频| 亚洲国产精品久久久久久| 中文字幕在线观看日韩| 中文国产成人精品| 亚洲xxxx妇黄裸体| 日韩国产精品一区| 久久久极品av| 欧美激情视频给我| 国产精品久久视频| 最近2019年手机中文字幕| 久久久91精品国产一区不卡| 成人写真福利网| 国产日韩在线一区| 欧美激情亚洲自拍| 亚洲人成欧美中文字幕| 国产欧亚日韩视频| 国产一区二区日韩| 日韩亚洲精品电影| 一区二区成人av| 日韩在线观看你懂的| 日本午夜精品理论片a级appf发布| 久久91精品国产91久久久| 久久人人97超碰精品888| 成人深夜直播免费观看| 欧美国产一区二区三区| 狠狠久久亚洲欧美专区| 久99九色视频在线观看| 欧美夫妻性视频| 国产一区二区三区在线播放免费观看| 最近2019中文免费高清视频观看www99| 韩国福利视频一区| 久久成人18免费网站| 美女性感视频久久久| 国产成人精品久久亚洲高清不卡| 青青草国产精品一区二区| 中文字幕欧美日韩在线| 尤物精品国产第一福利三区| 国外成人在线播放| 68精品国产免费久久久久久婷婷| 国产在线拍揄自揄视频不卡99| 欧美怡春院一区二区三区| 亚洲免费视频一区二区| 久久久久中文字幕2018| 日韩精品福利在线| 日韩欧美aⅴ综合网站发布| 555www成人网| 亚洲视频免费一区| 国产成人精品一区二区| 亚洲免费电影一区| 欧美国产精品日韩| 欧美电影电视剧在线观看| 欧美在线观看一区二区三区| 欧美性极品xxxx娇小| 国产日韩欧美中文在线播放| 亚洲成在人线av| 日韩禁在线播放| 成人在线播放av| 成人免费网站在线观看| 欧美激情第三页| 日韩美女中文字幕| 亚洲国产美女精品久久久久∴| 在线亚洲国产精品网| 按摩亚洲人久久| 欧美成人激情图片网| 国产91成人在在线播放| 日韩av一区在线观看| 久久中文久久字幕| 国产精品美乳在线观看| 国产精品极品尤物在线观看| 亚洲欧洲在线免费| 久久人人爽人人爽人人片av高清| 亚洲国产另类久久精品|