Beim Konvertieren von Zahlenbereichen bleibt das Verhältnis erhalten
Im Bereich der Datenmanipulation besteht häufig die Notwendigkeit, Werte von einem Bereich in einen anderen umzurechnen Beibehaltung ihrer relativen Verhältnisse. Dies kann besonders nützlich sein, wenn Sie Daten komprimieren oder Werte zwischen verschiedenen Maßstäben abbilden.
Betrachten wir die Aufgabe, einen Wertebereich von -16000,00 bis 16000,00 in einen besser verwaltbaren Ganzzahlbereich von 0-100 umzuwandeln. Wir möchten sicherstellen, dass bei der Umrechnung das Verhältnis zwischen den ursprünglichen Werten erhalten bleibt.
Der Schlüssel zum Erreichen dieser Verhältniserhaltung liegt in der folgenden Formel:
NewValue = (((OldValue - OldMin) * (NewMax - NewMin)) / (OldMax - OldMin)) + NewMin
wobei:
Um es weiter aufzuschlüsseln:
Diese Formel stellt sicher, dass das Verhältnis zwischen Werten innerhalb des alten Bereichs innerhalb des neuen Bereichs erhalten bleibt.
Wenn beispielsweise OldValue 8000,00 ist, ist OldMin -16000,00, OldMax ist 16000,00, NewMax ist 100 und NewMin ist 0 , NewValue würde wie folgt berechnet:
NewValue = (((8000.00 - (-16000.00)) * (100 - 0)) / (16000.00 - (-16000.00))) + 0 = (((24000.00) * (100)) / (32000.00)) + 0 = 75.00
Somit entsprechen 8000,00 im alten Bereich 75,00 im neuen Bereich, wobei das relative Verhältnis zwischen diesen Werten erhalten bleibt. Diese Formel kann weiter angepasst werden, um Fälle zu behandeln, in denen der alte Bereich Null ist oder der gewünschte neue Bereich nicht bei Null beginnt.
Das obige ist der detaillierte Inhalt vonWie behalte ich das Verhältnis zwischen Werten bei der Konvertierung von Zahlenbereichen bei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!