Ich muss Bewertungen anzeigen und dafür benötige ich folgende Schritte:
Wenn die Zahl 1.0 ist, sollte sie gleich 1 sein.
Wenn die Zahl 1.1 ist, sollte sie gleich 1 sein.
Wenn die Zahl 1.2 ist, sollte sie gleich 1 sein.
Wenn die Zahl 1.3 ist, sollte sie gleich 1.5 sein.
Wenn die Zahl 1.4 ist, sollte sie gleich sein 1,5
Wenn die Zahl 1,5 ist, sollte gleich 1,5 sein.
Wenn die Zahl 1,6 gleich 1,5 sein sollte.
Wenn die Zahl 1,7 gleich 1,5 sein sollte.
Wenn die Zahl 1,8 gleich 2,0 sein sollte.
Wenn die Zahl 1,9 gleich sein sollte 2.0
Wenn die Zahl 2.0 ist, sollte gleich 2.0 sein.
Wenn die Zahl 2.1 ist, sollte gleich 2.0 sein
und so weiter ...
Gibt es eine einfache Möglichkeit, die erforderlichen Werte zu berechnen?
Antworten:
Multiplizieren Sie Ihre Bewertung mit 2, runden Sie mit
Math.Round(rating, MidpointRounding.AwayFromZero)
und dividieren Sie diesen Wert durch 2.Math.Round(value * 2, MidpointRounding.AwayFromZero) / 2
quelle
Mit 2 multiplizieren, runden und dann durch 2 dividieren
Wenn Sie das nächste Viertel wünschen, multiplizieren Sie mit 4, dividieren Sie durch 4 usw.
quelle
Hier sind einige Methoden, die ich geschrieben habe und die immer auf einen beliebigen Wert auf- oder abgerundet werden.
quelle
Es gibt mehrere Möglichkeiten. Wenn die Leistung ein Problem darstellt, testen Sie sie, um festzustellen, welche in einer großen Schleife am schnellsten funktioniert.
quelle
quelle
Klingt so, als müssten Sie auf 0,5 runden. Ich sehe keine Version von
round
in der C # -API, die dies tut (eine Version benötigt eine Anzahl von Dezimalstellen zum Runden, was nicht dasselbe ist).Angenommen, Sie müssen sich nur mit ganzzahligen Zehntelzahlen befassen, reicht die Berechnung aus
round (num * 2) / 2
. Wenn Sie beliebig genaue Dezimalstellen verwenden, wird es schwieriger. Hoffen wir, dass Sie es nicht tun.quelle
Ich hatte auch Schwierigkeiten mit diesem Problem. Ich codiere hauptsächlich in Actionscript 3.0, der Basiscodierung für die Adobe Flash-Plattform, aber es gibt Ähnlichkeiten in den Sprachen:
Die Lösung, die ich gefunden habe, ist die folgende:
Das wars so ziemlich. Beachten Sie die Verwendung von 'Zahlen' und 'Ganzzahlen' und die Art und Weise, wie sie verarbeitet werden.
Viel Glück!
quelle
quelle
Der richtige Weg, dies zu tun, ist:
quelle