gpt4 book ai didi

php - 比较 php 中的 float

转载 作者:IT老高 更新时间:2023-10-28 11:45:17 28 4
gpt4 key购买 nike

我想比较 PHP 中的两个 float ,就像下面的示例代码:

$a = 0.17;
$b = 1 - 0.83; //0.17
if($a == $b ){
echo 'a and b are same';
}
else {
echo 'a and b are not same';
}

在此代码中,它返回 else 条件而不是 if 条件的结果,即使 $a$ b 相同。有什么特殊的方法来处理/比较 PHP 中的 float 吗?

如果是,请帮我解决这个问题。

还是我的服务器配置有问题?

最佳答案

如果你这样做,它们应该是一样的。但请注意,浮点值的一个特征是 似乎 得出相同值的计算实际上不需要完全相同。因此,如果 $a 是文字 .17 并且 $b 通过计算到达那里,那么它们很可能是不同的,尽管两者都显示相同的值。

通常你永远不会像这样比较浮点值的相等性,你需要使用可接受的最小差异:

if (abs(($a-$b)/$b) < 0.00001) {
echo "same";
}

类似的东西。

关于php - 比较 php 中的 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3148937/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com