我在这里读到:
具有非整数的模数将产生不可预测的结果。
然而,我试着用它玩了一下,它似乎给出了相当可预测的结果:
function mod($a, $b) {
echo "$a % $b = " . ($a % $b) . '<br>';
}
mod(10.3, 4);
mod(10.3, 2);
mod(-5.1, 3);
// OUTPUT:
// 10.3 % 4 = 2
// 10.3 % 2 = 0
// -5.1 % 3 = -2
换句话说,double
似乎被转换为integer
第一个。
%
当第一个操作数是 时,是否有任何工作方式的定义double
?