回声 100 - 99.9;在 php 中给出 0.099999999999994

echo 100 - 99.9; gives 0.099999999999994 in php

我正在尝试一些事情,然后 运行 遇到了这个问题:

<?php    
echo 100 - 99.9;
// gives: 0.099999999999994

谁能告诉我为什么会这样,我该如何解决?

原因是它是浮点数,阅读为什么会发生这种情况 https://floating-point-gui.de/ more info is also avalible here https://www.php.net/manual/en/language.types.float.php TLDR:浮点数末尾有小差异。