<?php $a = 0.7 - 0.4; $b = 0.3; echo 'gettype($a) = ' . gettype($a) . PHP_EOL; echo 'gettype($b) = ' . gettype($b) . PHP_EOL echo '$a === $b ? ' . ($a === $b ? 'equal' : 'not equal') . PHP_EOL;
![]() | 1 b821025551b 2020-01-02 11:37:14 +08:00 精度问题又拿出来了 |
2 eecjimmy OP @b821025551b 哈哈~狗头~ |
3 eecjimmy OP 升级版本: ```php <?php $a = 0.7 - 0.4; $b = 0.3; $c = 0.29999999999999991111; $d = 0.29999999999999992222; $e = 0.29999999999999993333; echo 'gettype($a) = ' . gettype($a) . PHP_EOL; echo 'gettype($b) = ' . gettype($b) . PHP_EOL; echo 'gettype($c) = ' . gettype($c) . PHP_EOL; echo 'gettype($d) = ' . gettype($d) . PHP_EOL; echo 'gettype($e) = ' . gettype($e) . PHP_EOL; echo '$a === $b ? ' . ($a === $b ? 'equal' : 'not equal') . PHP_EOL; echo '$a === $c ? ' . ($a === $c ? 'equal' : 'not equal') . PHP_EOL; echo '$a === $d ? ' . ($a === $d ? 'equal' : 'not equal') . PHP_EOL; echo '$a === $e ? ' . ($a === $e ? 'equal' : 'not equal') . PHP_EOL; ``` |
![]() | 4 mlhadoop 2020-01-02 11:42:35 +08:00 第一感觉是看到右侧脸 |
5 luozic 2020-01-02 11:43:33 +08:00 via iPhone 浮点数精度,没类型的时候,难查错 |
![]() | 6 b821025551b 2020-01-02 11:47:09 +08:00 养成习惯,浮点数计算用 bc math |
&bsp; 7 wuliyichen 2020-01-02 11:47:25 +08:00 这个问题没什么意义啊,平时不写 Unit test 吗?比较浮点结果的时候,需要传入 delta |
![]() | 8 vanton 2020-01-02 14:56:34 +08:00 为啥不用 BCMath ? 这题目没啥意义 |
![]() | 9 Dylaan 2020-01-02 16:56:51 +08:00 正脸 |
![]() | 10 meepo3927 2020-01-03 09:03:23 +08:00 我第一眼的输出结果是:PHP 是世界上最好的语言 |