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ù)是否相等
主站蜘蛛池模板:
最新国产精品拍自在线播放|
2022最新国产在线不卡a|
狠狠干影院|
五月婷婷网|
一本大道久久a久久综合|
久久精品国产99国产精品亚洲|
国产裸体美女视频全黄扒开|
狠狠综合亚洲综合亚洲色|
久久综合香蕉国产蜜臀AV|
人妻a码精品|
夜夜躁日日躁狠狠久久av|
JIZZJIZZJIZZ亚洲日本|
国产超清无码视频在线观看|
欧美颜射内射中出口爆在线|
中文国产成人精品久久不卡
|
国产精品一区二区国产馆|
国产制服丝袜在线观看|
亚洲综合在线成人|
日韩免费无码专区精品观看|
国产精品视频一区二区三区无码|
久久精品国产99久久丝袜|
麻豆一区二区三区香蕉视频|
久久蜜臂|
亚洲精品国产suv一区|
日韩人妻无码一区二区三区综合|
亚洲AV中文无码字幕色下药|
亚洲成人资源在线|
国产精品一区中文字幕|
伊人色综合久久天天|
超浪熟女在线|
欧美交换配乱吟粗大25p|
久久无码国产专区精品|
一区二区三区激情都市|
无码中文字幕色专区|
亚洲精品国模一区二区|
国产亚洲综合另类色专区|
91狠狠综合|
国产激情久久久久久熟女老人av|
国内精品自线在拍精品|
国产精品久久久久免费一级|
成人午夜激情在线观看|