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]

JavaScript für .NET-Entwickler

Sie sind .NET-Entwickler und nun stehen Sie vor der Aufgabe, JavaScript in Ihre Arbeit einzubinden. Die Schulung vermittelt Ihnen die JavaScript Grundlagen und die Funktionen der Scriptsprache. Sie wissen, wie objektorientierte Programmierung in JavaScript funktioniert und lernen abschließend Best Practicies Fälle kennen.

Visual Studio Team Foundation Server 2017/2015 (TFS) für Entwickler - Kompakt

Nach Teilnahme an dieser Schulung kennen Sie alle wesentlichen Funktionen des TFS für Entwickler. Sie setzen Software-Entwicklung mit dem Visual Studio Team Foundation Server erfolgreich um.

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!