Runden Sie einen Double-Wert auf einen ganzzahligen Wert in C#

Muhammad Maisam Abbas 12 Oktober 2023
  1. Runden Sie einen Double-Wert mit der Funktion Math.Ceiling() in C# auf einen ganzzahligen Wert
  2. Runden Sie einen Double-Wert mit der Funktion Math.Floor() in C# auf einen ganzzahligen Wert
  3. Runden Sie einen Double-Wert mit der Funktion Math.Round() in C# auf einen ganzzahligen Wert
Runden Sie einen Double-Wert auf einen ganzzahligen Wert in C#

In diesem Lernprogramm werden die Methoden zum Aufrunden eines Double-Werts auf einen ganzzahligen Wert in C# erläutert.

Runden Sie einen Double-Wert mit der Funktion Math.Ceiling() in C# auf einen ganzzahligen Wert

Wenn wir den Double-Wert 2.5 auf den ganzzahligen Wert 3 aufrunden wollen, müssen wir die Funktion Math.Ceiling() verwenden. Die Funktion Math.Ceiling() rundet einen Dezimalwert auf den nächsten ganzzahligen Wert auf. Das folgende Codebeispiel zeigt uns, wie wir mit der Funktion Math.Ceiling() in C# einen doppelten Wert auf einen ganzzahligen Wert aufrunden können.

using System;

namespace round_double_to_intt {
  class Program {
    static void Main(string[] args) {
      double d = 2.5;
      int i = (int)Math.Ceiling(d);
      Console.WriteLine("Original Value = {0}", d);
      Console.WriteLine("Rounded Value = {0}", i);
    }
  }
}

Ausgabe:

Original Value = 2.5
Rounded Value = 3

Wir haben den Double-Wert 2.5 mit der Funktion Math.Ceiling() in C# auf den ganzzahligen Wert 3 aufgerundet. Das Problem bei diesem Ansatz ist, dass die Funktion Math.Ceiling() den Dezimalwert 2.3 in den ganzzahligen Wert 3 konvertiert.

Runden Sie einen Double-Wert mit der Funktion Math.Floor() in C# auf einen ganzzahligen Wert

Wenn wir den Double-Wert 2.5 auf den ganzzahligen Wert 2 aufrunden wollen, müssen wir die Funktion Math.Floor() verwenden. Die Funktion Math.Floor() rundet einen Dezimalwert auf den vorherigen ganzzahligen Wert auf. Das folgende Codebeispiel zeigt uns, wie wir mit der Funktion Math.Floor() in C# einen doppelten Wert auf einen ganzzahligen Wert aufrunden können.

using System;

namespace round_double_to_intt {
  class Program {
    static void Main(string[] args) {
      double d = 2.5;
      int i = (int)Math.Floor(d);
      Console.WriteLine("Original Value = {0}", d);
      Console.WriteLine("Rounded Value = {0}", i);
    }
  }
}

Ausgabe:

Original Value = 2.5
Rounded Value = 2

Wir haben den Double-Wert 2.5 mit der Funktion Math.Floor() in C# auf den ganzzahligen Wert 2 aufgerundet. Das Problem bei diesem Ansatz ist, dass die Funktion Math.Floor() den Dezimalwert 2.9 in den ganzzahligen Wert 2 konvertiert.

Runden Sie einen Double-Wert mit der Funktion Math.Round() in C# auf einen ganzzahligen Wert

Mit der Funktion Math.Round() kann ein Double-Wert auf den nächsten ganzzahligen Wert in C# aufgerundet werden. Die Funktion Math.Round() gibt einen doppelten Wert zurück, der auf die nächste Ganzzahl aufgerundet wird. Das folgende Codebeispiel zeigt uns, wie wir mit der Funktion Math.Round() in C# einen doppelten Wert auf einen ganzzahligen Wert aufrunden können.

using System;

namespace round_double_to_intt {
  class Program {
    static void Main(string[] args) {
      double d = 2.9;
      int i = (int)Math.Round(d);
      Console.WriteLine("Original Value = {0}", d);
      Console.WriteLine("Rounded Value = {0}", i);
    }
  }
}

Ausgabe:

Original Value = 2.9
Rounded Value = 3

Wir haben den Dezimalwert 2.9 mit der Funktion Math.Round() in C# auf den ganzzahligen Wert 3 aufgerundet. Wir haben Typecasting verwendet, um den von der Funktion Math.Round() zurückgegebenen Double-Wert in einen ganzzahligen Wert umzuwandeln. Bei diesem Ansatz gibt es nur ein Problem. Die Funktion Math.Round() konvertiert den Dezimalwert 2.5 in den ganzzahligen Wert 2.

Wir können dieses Problem beheben, indem wir in den Argumenten der Funktion Math.Round() MidpointRounding.AwayFromZero angeben. Das folgende Codebeispiel zeigt uns, wie wir mit der Funktion Math.Round() in C# 2.5 auf 3 aufrunden können.

using System;

namespace round_double_to_intt {
  class Program {
    static void Main(string[] args) {
      double d = 2.5;
      int i = (int)Math.Round(d, MidpointRounding.AwayFromZero);
      Console.WriteLine("Original Value = {0}", d);
      Console.WriteLine("Rounded Value = {0}", i);
    }
  }
}

Ausgabe:

Original Value = 2.5
Rounded Value = 3

Wir haben den Dezimalwert 2.5 auf den ganzzahligen Wert 3 aufgerundet, indem wir den Parameter MidpointRounding.AwayFromZero in der Funktion Math.Round() in C# angegeben haben.

Alle oben diskutierten Methoden sind in verschiedenen spezifischen Szenarien nützlich. Der schlechteste Weg, einen doppelten Wert auf einen ganzzahligen Wert aufzurunden, ist die explizite Typumwandlung. Dies liegt daran, dass bei der expliziten Typumwandlung alle Werte nach dem Dezimalpunkt ignoriert werden und nur der ganzzahlige Wert vor dem Dezimalpunkt zurückgegeben wird.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Verwandter Artikel - Csharp Double