より賢いアプローチは、さまざまな数値範囲に基づいて増分値を返す多くの条件文を使用する関数を作成することです。
P粉311464935
2023-08-17 23:18:09
<p>入力が特定の数値範囲内の場合に特定の値を返す関数を作成しようとしています。 </p>
<p>通常は、このタスクを達成するために一連の if/else if ステートメントを作成します。ただし、多数の範囲を扱っているため、30 個以上の if/else if ステートメントを書き出すのは非効率であるように思えます。 </p>
<p>範囲全体の最小値と最大値があり、それをより小さな範囲に分割したいとします。範囲ごとにいくつかの値を返したいと思います。理想的には、各範囲の戻り値は一定の数値だけ減分されます。 </p>
<p>コンテキストを提供するために、次のようなものを使用して走行距離に基づいて値を計算しようとしています。たとえば、走行距離が 101 ~ 120 マイルの場合、レートは走行距離の 80% に相当します。走行距離が増えるにつれてパーセンテージは減少します。さらに、パーセント減少の値は、固定数(-0.05
など)</p>とすることができる。
<pre class="brush:php;toolbar:false;">...
それ以外の場合 (m >= 101 && m <= 120) は 0.80 を返します。
それ以外の場合 (m >= 121 && m <= 140) は 0.75 を返します。
...</pre>
<p>各範囲の戻り値にはパターンがあるので、if/else ステートメントをたくさん書くよりも良い方法で実行できると思いますが、正確な方法はわかりません。何か案は? </p>
あなたの例では 15 ずつ増えていないので、タイプミスだと思います。
関数を使って解決してみます。 例えば:###