この記事では主に PHP の剰余 (剰余) 演算を紹介します。これには特定の参考値がありますので、必要な友達に参考にしてください。
おすすめマニュアル 最初に次の小さなケースを見てみましょう:
$n = 8.45; $result = $n*100; echo gettype($result); var_dump($result); echo intval($n*100).'<br>'; echo $result%100;出力:
double
float 845
844
44
この結果を見て少し驚きましたか?
実際、本質はintval((double) 845) = 944; 上記で remainder (modulo) 演算子 % を使用し、modulo 演算子のオペランドを使用したためです。演算前に整数(小数部を除く)に変換してください。
おすすめ関連記事:1.浮動小数点数から剰余を求めるphpメソッド
2.phpの一般的な演算子とは何ですか
関連ビデオの推奨:
1.Dugu Jiijian (4)_PHPビデオチュートリアル
さらに、モジュロ演算子%とThe配当の符号 (正負の符号) は同じです。つまり、$a (配当) % $b (除数) の結果は同じ符号になります。いくつかの例を見てみましょう:
例: echo (5 % 3)."\n";
echo (5 % -3)."\n";
echo (-5 % 3)."\n";
echo (-5 % -3)."\n";
出力:
2 2 -2 -2
剰余 fmod() に関連する数学関数を紹介しましょう。これは主に 浮動小数点剰余を返します。分割。
返回被除数( 例子: 结果: 我是fmod($x, $y)输出的值:1 我是$x % $y输出的值:1 结果: 我是fmod($x, $y)输出的值:0.8 我是$x % $y输出的值:1 注意的是,PHP里并没有mod()函数,使用时应注意。 小结: 1、%求余的时候,就是先把运算之前的被除数和除数都转换成整数(除去小数部分) 2、fmod()就类似于数学里面的求余运算。 相关推荐:float fmod ( float $x , float $y )
x
)除以除数(y
)所得的浮点数余数。余数()的定义是:x = i * y + r,其中 是整数。如果 y
是非零值,则 和 x
的符号相同并且其数量值小于 y
。 其实实质就是x/y的浮点数余数。$x = 5;
$y = 2;
// $t = mod($x, $y);//Fatal error: Call to undefined function mod()
echo '我是fmod($x, $y)输出的值:'.fmod($x, $y);
echo "<br>";
echo '我是$x % $y输出的值:'.$x % $y;
$x = 5.8;
$y = 2.5;
// $t = mod($x, $y);//Fatal error: Call to undefined function mod()
echo '我是fmod($x, $y)输出的值:'.fmod($x, $y);
echo "<br>";
echo '我是$x % $y输出的值:'.$x % $y;
以上がPHP 剰余 (モジュロ) 演算の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。