gpt4 book ai didi

php - 为什么从 floatval() 获得的这个值在与另一个数字比较时评估为 false?

转载 作者:行者123 更新时间:2023-12-02 07:48:17 24 4
gpt4 key购买 nike

查看下面的测试用例:

$val = floatval("336.00");
$result = 300*1.12;

header("content-type: text/plain");

echo "\$result = 300*1.12 which equals $result\n";
echo "\$val = floatval(\"336.00\") which equals $val\n";
echo "gettype(\$val) = ".gettype($val)."\n";
echo "gettype(\$result) = ".gettype($result)."\n";
echo "gettype(300*1.12) = ".gettype(300*1.12)."\n";
echo "gettype(floatval(\$result)) = ".gettype(floatval($result))."\n";

if ($result == 300*1.12)
echo "\$result == 300*1.12 is true\n";
else
echo "\$result == 300*1.12 is false\n";

if ($result == $val)
echo "(\$result == \$val) \$result == 300*1.12 is true\n";
else
echo "(\$result == \$val) \$result == 300*1.12 is false\n";

您会认为最后一个 if/else block 也会显示 true,对吗?不是这样!查看同一脚本的输出:

$result = 300*1.12 which equals 336
$val = floatval("336.00") which equals 336
gettype($val) = double
gettype($result) = double
gettype(300*1.12) = double
gettype(floatval($result)) = double
$result == 300*1.12 is true
($result == $val) $result == 300*1.12 is false

我在这里错过了什么?我已经在各种版本的 PHP 5+ 上尝试过,它们都产生相同的输出。

最佳答案

关于php - 为什么从 floatval() 获得的这个值在与另一个数字比较时评估为 false?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5385848/

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