一个更聪明的方法是编写一个函数,该函数使用许多条件语句根据不同的数值范围返回增量值
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%。随着里程数的增加,百分比会递减。而且,百分比递减的数值可以是某个固定数字(例如<code>-0.05</code>)</p>
<pre class="brush:php;toolbar:false;">...
else if (m >= 101 && m <= 120) return 0.80
else if (m >= 121 && m <= 140) return 0.75
...</pre>
<p>由于每个范围的返回值存在一种模式,我认为可以以比写一堆if/else语句更好的方式来完成,但我不确定具体如何做到。有什么想法吗?</p>
你的例子没有以15递增;所以,我假设那是一个打字错误。
我会使用一个函数来解决。 例如: