Wie bekomme ich den passenden wert?
also ich schreibe einen ladebalken (nicht fragen) und bekomme vom programm den wert "percentage" zur vergfügung gestellt welche immer ein wert zwischen 0.0 und 1.0 ist (0 = 0%, 1 = 100%) aber durch die umstände wird der wert immer mit 37% (0,027...) starten also nun zum problem: wie sorge ich dafür das 37% 0% ist und 100% immer noch 100% wichtig: ich kann nur einfache mathematische operatoren also: +,-,*,/ nutzen (da es eine sehr begrenzte eigene scriptsprache ist de nur das programm versteht also bitte nicht mit java klassen oder so kommen eine einfache rechnung reicht :)(wenn möglich ohne von 1 auf 100 zu rechnen da ich für die weiterverabeitung den dezimalwert brauche)
Welche Programmiersprache ist es denn?
wie gesagt properitär (es ist nichmal ne sprache sondern eher sowas wie configinterpretation)
3 Antworten
(X-0,37)*1,587
wird der wert immer mit 37% (0,027...) starten
Was denn nun? 0,027... wäre etwa 27 %, nicht 37 %.
Im Folgenden nehme ich da 0,37 bzw. 37 % als Beispiel.
============
Naja, du könntest das entsprechend mit einer linearen Funktion der Form...
... transformieren.
Es soll beispielsweise f(0,37) = 1,00 und f(1,00) = 1,00 sein. Damit würde man dann...
... erhalten, was dann...
... liefern würde. Also...
Da kannst du jeweils deine Werte zwischen 0,37 und 1,00 für x einsetzen und erhältst dann den entsprechenden Wert zwischen 0,00 und 1,00 für den Ladebalken.
============
Allgemein könnte man für einen bestimmten Anfangswert a und einen bestimmten Endwert z mit
eine entsprechende Transformation von [a; z] zu [0; 1] durchführen. Im konkreten Fall dann beispielsweise...
============
Beispielwerte, die man mit f(x) = (x - 0.37)/(1-0.37) erhält...
f(0.37) = 0.0
f(0.38) = 0.015873015873015886
f(0.39) = 0.03174603174603177
f(0.4) = 0.04761904761904766
f(0.41) = 0.06349206349206346
f(0.42) = 0.07936507936507935
f(0.43) = 0.09523809523809523
f(0.44) = 0.11111111111111112
f(0.45) = 0.126984126984127
f(0.46) = 0.1428571428571429
f(0.47) = 0.1587301587301587
f(0.48) = 0.1746031746031746
f(0.49) = 0.19047619047619047
f(0.5) = 0.20634920634920637
f(0.51) = 0.22222222222222224
f(0.52) = 0.23809523809523814
f(0.53) = 0.253968253968254
f(0.54) = 0.2698412698412699
f(0.55) = 0.2857142857142858
f(0.56) = 0.3015873015873017
f(0.57) = 0.3174603174603174
f(0.58) = 0.33333333333333326
f(0.59) = 0.3492063492063492
f(0.6) = 0.36507936507936506
f(0.61) = 0.38095238095238093
f(0.62) = 0.3968253968253968
f(0.63) = 0.41269841269841273
f(0.64) = 0.4285714285714286
f(0.65) = 0.4444444444444445
f(0.66) = 0.46031746031746035
f(0.67) = 0.4761904761904763
f(0.68) = 0.49206349206349215
f(0.69) = 0.5079365079365079
f(0.7) = 0.5238095238095237
f(0.71) = 0.5396825396825397
f(0.72) = 0.5555555555555555
f(0.73) = 0.5714285714285714
f(0.74) = 0.5873015873015873
f(0.75) = 0.6031746031746031
f(0.76) = 0.6190476190476191
f(0.77) = 0.634920634920635
f(0.78) = 0.6507936507936508
f(0.79) = 0.6666666666666667
f(0.8) = 0.6825396825396826
f(0.81) = 0.6984126984126985
f(0.82) = 0.7142857142857142
f(0.83) = 0.7301587301587301
f(0.84) = 0.7460317460317459
f(0.85) = 0.7619047619047619
f(0.86) = 0.7777777777777778
f(0.87) = 0.7936507936507936
f(0.88) = 0.8095238095238095
f(0.89) = 0.8253968253968255
f(0.9) = 0.8412698412698413
f(0.91) = 0.8571428571428572
f(0.92) = 0.8730158730158731
f(0.93) = 0.888888888888889
f(0.94) = 0.9047619047619047
f(0.95) = 0.9206349206349206
f(0.96) = 0.9365079365079364
f(0.97) = 0.9523809523809523
f(0.98) = 0.9682539682539683
f(0.99) = 0.9841269841269841
f(1.0) = 1.0
Code, mit dem ich in Python mir diese Beispielwerte habe ausgeben lassen:
for X in range(37, 101):
x = X/100
y = (x-0.37)/(1.0-0.37)
print(f"f({x}) = {y}")
Lass das Programm einfach bis 36% hochzählen& anzeigen und starte dann mit dem eigentlichen Ladebalken.
danke aber (nur interesse) woher kommen die 1,587