我有一个关于取模的问题。取模操作是通过一个数除以另一个数得到余数。我原本期望 0.5 % 0.1 的结果为 0,但是当我在 PHP 或 .net 中运行时,却得到了 0.1。
我运行的 PHP 代码如下:
var_dump(fmod(0.5, 0.1));
在 .net 中,我尝试了以下方法以获得结果:
Console.WriteLine(0.5%0.1);
我还尝试了一个在线计算器http://www.calculatorpro.com/modulo-calculator/,所有这三种方法都给出了0.1的答案。但是当我在Google中输入此内容时,我得到了我期望的结果http://www.google.nl/search?source=ig&hl=nl&q=0.5%20mod%200.1&meta=。这是.NET/PHP的错误还是Google知道正确的答案?有人能解释为什么存在这些差异吗?
0.09999999999999998
。 - JohnP