As described in Is math floating point? , 0.1 + 0.2 is estimated at 0.30000000000000004 in most programming languages.
However, PHP, apparently because it is the best of all programming languages, is able to correctly calculate 0.1 + 0.2:
php > echo 0.1 + 0.2; 0.3 php > var_dump(0.1 + 0.2); float(0.3)
However, despite the result shown above, 0.1 + 0.2! = 0.3:
php > var_dump(0.1 + 0.2 == 0.3); bool(false)
What's going on here?
source share