PHP浮點數比較大小

2021-07-06 07:09:04 字數 605 閱讀 9247

php 比較運算子用於比較兩個值(數字或字串)

==等於

$x == $y

如果 $x 等於 $y,則返回 true。

===全等(完全相同)

$x === $y

如果 $x 等於 $y,且它們型別相同,則返回 true。

<?php

$a = 0.58 * 100;

$b = 58;

var_dump($a);// 輸出 float 58

var_dump($b);// 輸出 int 58

var_dump($a == $b); // bool(false)

var_dump(intval($a)); // int 57

var_dump(floatval($b) == $a);// bool(false)

var_dump(floatval($b)); // float 58

var_dump(strval($b) == strval($a));  // bool(true)

php顯示$a = 58,實際值應該是

57.99999999999999。

php在比較浮點數大小時,需要把浮點數轉為字串進行比較。

浮點數比較大小

在數 算當中經常會涉及到判斷兩個數是否相等的情況 對於整數很好處理 a b這樣的乙個語句就可以 解決全部的問題 但是對於浮點數是不同的 首先,浮點數在計算機當中的二進位制表達方式就決定了大多數浮點數都是無法精確的表達的 現在的計算機大部分都是 數字計算機,不是模擬機,數字機的離散化的資料表示方法自然...

浮點數比較大小

浮點數比較大小,由於精度問題,所以直接比較有時可能會出錯。單精度數7位有效數字。float 雙精度數16位有效數字。double 單精度數的尾數用23位儲存,加上預設的小數點前的1位1,2 23 1 16777216。因為 10 7 16777216 10 8,所以說單精度浮點數的有效位數是7位。雙...

浮點數比較大小的問題

浮點數比較大小,由於精度問題,所以直接比較有時可能會出錯。單精度數7位有效數字。float 雙精度數16位有效數字。double 單精度數的尾數用23位儲存,加上預設的小數點前的1位1,2 23 1 16777216。因為 10 7 16777216 10 8,所以說單精度浮點數的有效位數是7位。雙...