Feedback

C# - Alternatives Runden

Veröffentlicht von am 03.12.2014
(0 Bewertungen)
Mit dieser Funktion kann ein double alternativ gerundet werden, sodass bspw. erst ab 7 aufgerundet wird.
Zahl ist die zu rundende Zahl
Stelle gibt an, auf welche Stelle hinter (>=1) oder vor (<=0) dem Komma gerundet werden soll.
startUp gibt an, ab wann aufgerundet werden soll.
GFU-Schulungen  [Anzeige]

XML und .NET Überblick

Um auf dem neuesten Wissensstand zu sein, sollten Sie unser aktuelles ASP .NET Komplett Seminar belegen.
Nach dem Seminar kennen Sie die wichtigsten Strömungen in der Software-Technologie

VB.NET 2017/2015/2013 Aufbau

Nach dieser Schulung können Sie mittels objektorientierter Modelle in VB.NET 2017/2015/2013 wiederverwendbare Elemente eigenständig erstellen.

public static double RoundAt(double Zahl, int Stelle, int startUp)
        {
            double Up = Math.Abs(Zahl) * Math.Pow(10, Stelle);
            double temp = Up;
            double Out;
            while (Up > 0)
            {
                Up--;
            }
            Out = temp - Up;                           //Aufrunden
            if (Up < (Convert.ToDouble(startUp) - 10) / 10)
            { Out = temp - Up - 1; }                   //Abrunden
            if (Zahl < 0)
            { Out *= -1; }
            Out /= Math.Pow(10, Stelle);
            return Out;
        }
Abgelegt unter double, Runden.

2 Kommentare zum Snippet

Koopakiller schrieb am 05.12.2014:
Wenn ich dein Snippet richtig interpretiere, dann veränderst du den Punkt, ab dem auf- bzw. abgerundet wird. Bei RoundAt(*, 1, 7) würde also alles ab *.7 aufgerundet werden, alles andere wird abgerundet.
Richtig?

Wenn ich dem Stelle-Parameter 0 übergebe, würde ich erwarten ganze Zahlen (1,2,3,4,...) zu erhalten. Ich erhalte aber auf 10er gerundete.
Fuzzi59 schrieb am 05.12.2014:
Stimmt, es lag an der Kommaverschiebung das -1 musste weg damit es funktioniert.
Außerdem konnten keine negativen Zahlen richtig gerundet werden.
Hatte es aus der alten Datei kopiert, ist jetzt aber richtig.
 

Logge dich ein, um hier zu kommentieren!