首頁  >  文章  >  後端開發  >  如何在保留比率的同時轉換數字範圍?

如何在保留比率的同時轉換數字範圍?

Barbara Streisand
Barbara Streisand原創
2024-11-07 21:17:02932瀏覽

How to Convert Number Ranges While Preserving Ratios?

在保留比率的同時轉換數字範圍

給定需要轉換為另一個範圍的一系列值,保持它們的相對比率,我們展示一個通用演算法及其Python 實作。

演算法:

將數值從舊範圍(OldMin, OldMax) 轉換為新範圍(NewMin, NewMax) )同時保持比率:

``
NewValue = (((OldValue - OldMin) * (NewMax - NewMin)) / (OldMax - OldMin)) NewMin
``

或更容易閱讀:

``
OldRange = (OldMax - OldMin)
NewRange = (NewMax - NewMin)
NewValue = (((OldValue - OldMin) * NewRange) / OldRange) NewMin
``

`

🎜>如果舊範圍的跨度為零(OldMin = OldMax),則計算將修改為:

``
OldRange = (OldMax - OldMin)
if (OldRange == 0)

NewValue = NewMin

else
{

NewRange = (NewMax - NewMin)
NewValue = (((OldValue - OldMin) * NewRange) / OldRange) + NewMin

}
``

在這種情況下,NewMin 是新值的預設選擇,但其他選項(如NewMax 或其平均值)也可能適合上下文。

Python 實作:

``
def Convert_range(old_value, old_min, old_max, new_min, new_max):
"``

以上是如何在保留比率的同時轉換數字範圍?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn