好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > php如何比較兩個浮點數是否相等詳解

php如何比較兩個浮點數是否相等詳解

熱門標簽:浙江外呼電話系統軟件 銀川ai電話機器人 芒果電銷機器人 地圖標注風向標 電梯外呼線路板維修視頻 上海公司外呼系統線路 臨沂智能電銷機器人軟件 十堰ai電話機器人效果怎么樣 安陽自動外呼系統價格是多少

前言

本文主要給大家介紹了關于利用php如何比較浮點數是否相等的相關內容,下面話不多說了,來一起看看詳細的介紹吧

看下面這段代碼, 0.9+0.1 的相加結果與 1 進行比較

?php
$a = 0.9;
$b = 0.1;
$total = $a + $b;
var_dump($total);
if (1 == $total) {
 echo "true";
} else {
 echo "false";
}
echo "\n";

if (1.0 == $total) {
 echo "true";
} else {
 echo "false";
}
?>

打印結果是:

float(1)
true
true

再看下面這段代碼, 0.6+0.1+0.1+0.1+0.1 的相加結果與 1 進行比較

?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";
}

?>

打印結果是:

float(1)
false
false

為什么這兩段代碼結果不一樣?把兩段代碼里面的 $total 分別以精度20位的形式打印出來 printf("%.20f\n", $total); ,結果如下:

1.00000000000000000000
0.99999999999999988898

出現這個問題是因為浮點數計算涉及精度。

關于php里面的浮點數, 官方手冊 上有相關解釋

看官方手冊里面關于浮點數的提示,如下圖所示。里面提到 永遠不要比較兩個浮點數是否相等

那么有什么辦法可以比較兩個浮點數是否相等呢?

方法一、

看如下代碼示例

?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";
}

?>

結果輸出為:

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";
}
?>

結果輸出為:

true

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • php判斷兩個浮點數是否相等的方法
  • 簡單談談php浮點數精確運算
  • PHP中兩個float(浮點數)比較實例分析
  • PHP中浮點數計算比較及取整不準確的解決方法
  • PHP浮點數精度問題匯總
  • PHP數據類型之整數類型、浮點數的介紹
  • PHP浮點數的一個常見問題
  • php的sprintf函數的用法 控制浮點數格式
  • php 浮點數比較方法詳解

標簽:徐州 遂寧 常州 寧夏 吐魯番 遵義 武威 荊門

巨人網絡通訊聲明:本文標題《php如何比較兩個浮點數是否相等詳解》,本文關鍵詞  php,如何,比較,兩個,浮,點數,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《php如何比較兩個浮點數是否相等詳解》相關的同類信息!
  • 本頁收集關于php如何比較兩個浮點數是否相等詳解的相關信息資訊供網民參考!
  • 推薦文章