Float浮点型
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Float浮点型相关的知识,希望对你有一定的参考价值。
浮点型(也叫浮点数float,双精度数double或实数real)。
要测试浮点数是否相等,要使用一个比该数大一丁点的最小误差值。该值也被称为机器极小值(epsilon)或最小单元取整数,是计算中所能接受的最小的差别值。
$a和$b在小数点后五位精度内都是相等的。
<?php
$a = 1.23456789;
$b = 1.23456780;
$epsilon = 0.00001;
if(abs($a-$b) < $epsilon) {
echo "true";
}
?>
$a = 1.23456789;
$b = 1.23456780;
$epsilon = 0.00001;
if(abs($a-$b) < $epsilon) {
echo "true";
}
?>
<?php
$x = 8 - 6.4; // which is equal to 1.6
$y = 1.6;
var_dump($x == $y); // is not true
var_dump(round($x, 2) == round($y, 2)); // this is true
?>
$x = 8 - 6.4; // which is equal to 1.6
$y = 1.6;
var_dump($x == $y); // is not true
var_dump(round($x, 2) == round($y, 2)); // this is true
?>
NaN:某些数学运算会产生一个由常量NaN所代表的结果。此结果代表着一个浮点数运算中未定义或不可表述的值。任何拿此值与它任何值进行的松散或严格比较的结果都是false。
由于NaN代表着任何不同值,不应该拿NaN去和其他值进行比较,包括其自身,应该使用is_nan()来检查。
以上是关于Float浮点型的主要内容,如果未能解决你的问题,请参考以下文章
Python 基础 - 4 常用数值类型(int,float,bool)操作