PHP Math:为什么mod(%)不能与fac(13)一起使用?

bat*_*man 4 php math floating-point

好吧,这个超出了我:我必须度过漫长的一天.为什么(13!mod 10)出现为4,当数字以两个0结束?

试试这个:

<?php $thirteen_fac = 6227020800;
echo $thirteen_fac % 10; ?>
Run Code Online (Sandbox Code Playgroud)

结果是4.预期为0.

我必须忘记一些非常明显的事情......

mar*_*rio 8

6227020800对于整数来说太大了(无论如何在32位系统上).PHP会将它作为float存储在您的变量中.因此,模运算将使用不精确的向上/向下数字作为基础.