true
true
再看下面這段代碼, 0.6+0.1+0.1+0.1+0.1 的相加結(jié)果與 1 進(jìn)行比較
<?php
$a = 0.6;
$b = 0.1;
$c = 0.1;
$d = 0.1;
$e = 0.1;
$total = $a + $b + $c + $d + $e;
var_dump($total);
if (1 == $total) {
echo "true";
} else {
echo "false";
}
echo "\n";
if (1.0 == $total) {
echo "true";
} else {
echo "false";
}
?>
打印結(jié)果是:
float(1)
false
false
為什么這兩段代碼結(jié)果不一樣?把兩段代碼里面的 $total 分別以精度20位的形式打印出來(lái) printf(“%.20f\n”, $total); ,結(jié)果如下:
1.00000000000000000000
0.99999999999999988898
出現(xiàn)這個(gè)問(wèn)題是因?yàn)楦↑c(diǎn)數(shù)計(jì)算涉及精度。
關(guān)于php里面的浮點(diǎn)數(shù), 官方手冊(cè)上有相關(guān)解釋
看官方手冊(cè)里面關(guān)于浮點(diǎn)數(shù)的提示,里面提到永遠(yuǎn)不要比較兩個(gè)浮點(diǎn)數(shù)是否相等
那么有什么辦法可以比較兩個(gè)浮點(diǎn)數(shù)是否相等呢?
方法一、
看如下代碼示例
<?php
$a = 0.6;
$b = 0.1;
$c = 0.1;
$d = 0.1;
$e = 0.1;
$epsilon = 0.00001;
$total = $a + $b + $c + $d + $e;
if(abs($total-1) < $epsilon) {
echo "true";
} else {
echo "false";
}
echo "\n";
if(abs($total-1.0) < $epsilon) {
echo "true";
} else {
echo "false";
}
?>
結(jié)果輸出為:
true
true
方法二、
<?php
$a = 0.6;
$b = 0.1;
$c = 0.1;
$d = 0.1;
$e = 0.1;
$total = $a + $b + $c + $d + $e;
if(1.0 == round($total, 5)) {
echo "true";
} else {
echo "false";
}
?>
結(jié)果輸出為:
true
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享網(wǎng)絡(luò)內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。郵箱:3140448839@qq.com。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明出處:
三五互聯(lián)知識(shí)庫(kù) »
php如何比較浮點(diǎn)數(shù)是否相等
主站蜘蛛池模板:
亚洲熟妇av一区二区三区|
欧美高清一区三区在线专区|
91乱子伦国产乱子伦www.sz-sd.cn|
欧美一品道|
亚洲欧美国产另类视频|
天堂а√8在线最新版在线|
日韩精品成人区中文字幕|
在线视频免费看3|
亚洲色无码专区一区|
亚洲网站h|
精品久久久久久无码中文字幕|
国产成人av在线免播放观看|
另类国产精品一区二区|
成人亚洲a片v一区二区三区动漫
|
国产美女mm131爽爽爽毛片|
久久国模|
国产精品无码a∨麻豆|
巨熟乳波霸若妻在线播放|
亚洲国产99在线精品一区二区|
欧美激情内射喷水高潮|
精品久久久久久中文字幕无码软件|
亚洲在线一区二区三区四区|
又大又粗欧美黑人aaaaa片|
中文国产人精品久久蜜桃|
亚洲男女羞羞无遮挡久久丫
|
亚洲一区二区三区影院|
精新精新国产自在现|
久久精品一卡二卡|
亚洲精品韩国一区二区|
欧美中文亚洲v在线|
欧美3p视频在线观看|
4480yy亚洲午夜私人影院剧情|
2022精品福利在线小视频|
久久超碰色中文字幕超清
|
九九热精品视频在线免费|
国产一卡2卡三卡4卡免费网站|
国产日韩亚洲欧洲一区二区三区
|
欧美日一本|
高清中文字幕国产精品|
欧美精欧美乱码一二三四区|
东京热大乱w姦|