PHP は、Web 開発やその他のさまざまなアプリケーション開発で広く使用されている強力なプログラミング言語です。 PHP 言語の設計と実装はかなり成熟していますが、使用中にさまざまな問題が発生することがあります。たとえば、PHP で割り切れない数値がよくある問題です。次のコードを使用してこの問題を解決できます。
PHP の整数除算演算子は「/」です。たとえば、$a/$b は、$a を $b で割った結果を返します。この演算子は、整数ではなく浮動小数点数を返します。整数を取得する必要がある場合は、PHP の整数除算演算子「\」を使用できます。たとえば、$a\$b は、$a を $b で割った整数部分を返します。
ただし、$a/$b の剰余を計算する必要がある場合がありますが、このときは整数除算演算子を使用できません。剰余を計算するには 2 つの方法があります。
最初の方法は、PHP のモジュロ演算子 "%" を使用することです。たとえば、$a%$b は、$a を $b で割った余りを返します。ただし、$b=0 の場合、数値をゼロで割ることはできないため、モジュロ演算ではエラーが発生します。さらに、$a または $b が浮動小数点数の場合、モジュロ演算でも誤った結果が得られます。
2 番目の方法は、PHP の fmod() 関数を使用して剰余を計算する方法です。たとえば、fmod($a,$b) は、$a を $b で割った剰余を返します。モジュロ演算子とは異なり、fmod() 関数は浮動小数点数と 0 を正しく処理でき、非常に大きな数値を計算する場合にも非常に安定しています。
以下は、fmod() 関数を使用して $a/$b の剰余を計算するサンプル コードです。
function mod($a, $b) { $mod = fmod($a, $b); if($mod==0) { return 0; } elseif(($a<0 && $b>0) || ($a>0 && $b<0)) { return $mod+$b; } else { return $mod; } }
この関数は 2 つのパラメータ $a と $b を受け取り、戻り値を返します。 $a/ $b の残りで、さまざまな状況を正しく処理します。余りが 0 の場合、関数は直接 0 を返します。 $a と $b の符号が異なる場合、関数は通常、PHP のデフォルトの正の剰余ではなく、負の剰余を返します。この関数は非常に大きな数値を処理し、近似値ではなく正確な剰余を返すこともできます。
PHP でプログラミングをしていると、PHP で割り算できない数値が発生するなど、さまざまな問題に遭遇します。ただし、いくつかのテクニックと機能を習得すれば、これらの問題は解決できます。 PHP コードを記述するときは、さまざまな状況に対処することに注意し、あらゆる状況を無視しないでください。
以上がphp が割り切れない数値に遭遇した場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。