Bagaimana untuk Menukar Julat Nombor kepada Julat Lain Sambil Mengekalkan Nisbah?

Mary-Kate Olsen
Lepaskan: 2024-11-08 02:11:02
asal
645 orang telah melayarinya

How to Convert a Number Range to Another Range While Maintaining Ratio?

Tukar Julat Nombor kepada Julat Lain, Mengekalkan Nisbah

Menukar julat angka kepada julat lain sambil mengekalkan perkadaran relatifnya boleh menjadi teknik yang berguna dalam pelbagai aplikasi. Mari kita pertimbangkan senario di mana anda perlu memampatkan nilai mata daripada julat -16000.00 hingga 16000.00 ke dalam julat integer 0-100.

Formula berikut menyediakan algoritma umum untuk penukaran ini:

NewValue = (((OldValue - OldMin) * (NewMax - NewMin)) / (OldMax - OldMin)) + NewMin
Salin selepas log masuk

di mana:

  • Nilai Lama ialah nilai asal dalam julat lama
  • OldMin ialah nilai minimum dalam julat lama
  • OldMax ialah nilai maksimum dalam julat lama
  • NewMax ialah nilai maksimum dalam julat baharu
  • NewMin ialah nilai minimum dalam julat baharu

Formula ini pada asasnya mengira nisbah nilai baharu kepada julat baharu dan gunakannya pada nisbah nilai lama kepada julat lama. Coretan kod Python berikut menunjukkan cara menggunakan formula ini:

old_min = -16000.00
old_max = 16000.00
new_min = 0
new_max = 100
old_value = 0.0

new_value = (((old_value - old_min) * (new_max - new_min)) / (old_max - old_min)) + new_min

print(new_value)
Salin selepas log masuk

Formula ini juga membenarkan pelarasan sama ada julat dengan menukar nilai OldMin, OldMax, NewMin dan NewMax. Sebagai contoh, jika anda ingin menukar nilai daripada julat -50 hingga 800 kepada julat 0-100, anda akan menggunakan formula berikut:

NewValue = (((OldValue + 50) * 100) / (850))
Salin selepas log masuk

Formula ini melaraskan julat lama dengan menambah 50 pada setiap satu. nilai untuk mengalihkannya ke sisi positif dan kemudian mengurangkan saiznya dengan faktor 850/(850-50) untuk memasukkannya ke dalam julat.

Dengan menggunakan algoritma umum ini, anda boleh menukar julat angka dan mengekalkan nisbah relatifnya, walaupun apabila julat berbeza atau anda perlu melaraskan nilai minimum dan maksimum.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Julat Nombor kepada Julat Lain Sambil Mengekalkan Nisbah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!