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

轉換數字範圍時如何保留數值之間的比率?

Linda Hamilton
Linda Hamilton原創
2024-11-07 11:39:03378瀏覽

How do I preserve the ratio between values when converting number ranges?

轉換數字範圍時保留比率

在資料操作領域,經常需要將數值從一個範圍轉換為另一個範圍,而維持其相對比例。這在壓縮資料或在不同比例之間映射值時特別有用。

讓我們考慮將 -16000.00 到 16000.00 的值範圍轉換為更易於管理的整數範圍 0-100 的任務。我們希望確保轉換保留原始值之間的比率。

實現此比率保留的關鍵在於以下公式:

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

其中:

  • OldValue 是舊範圍內的原始值
  • OldMin 和OldMax 是舊範圍的最小值和最大值
  • NewMax 和NewMin 是新範圍的最大值和最小值範圍

進一步細分:

  • 我們計算舊範圍內OldValue 的標準化比率:(OldValue - OldMin) / (OldMax - OldMin)
  • 我們將此比率乘以新範圍的大小:(NewMax - NewMin)
  • 我們將此結果乘以新範圍的最小值:NewMin

此公式可確保舊範圍內的值之間的比率保留在新範圍內。

例如,如果OldValue 為8000.00,OldMin 為-16000.00,OldMax 為16000.00,NewMax 為100,NewMin 為0 ,NewValue 將計算🎜>🎜>🎜>🎜>🎜>🎜>🎜>🎜>🎜>🎜>🎜>🎜>🎜>🎜>🎜>🎜>🎜>🎜>🎜>🎜> 8000.00 對應於新範圍中的75.00,保留這些值之間的相對比率。可以進一步自訂此公式,以處理舊範圍為零或所需的新範圍不從零開始的情況。

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

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