Konvertieren Sie Float in Int in C#

  1. Konvertieren von Float mit expliziter Typumwandlung in C# in Int
  2. Konvertieren von Float in Int mit der Funktion Math.Ceiling() in C
  3. Konvertieren von Float in Int mit der Funktion Math.Floor() in C
  4. Konvertieren von Float in Int mit der Funktion Math.Round() in C

In diesem Lernprogramm werden Methoden zum Konvertieren eines Gleitkommawerts in einen ganzzahligen Wert in C# vorgestellt.

Konvertieren von Float mit expliziter Typumwandlung in C# in Int

Typecasting ist eine Möglichkeit, einen Wert von einem Datentyp in einen anderen Datentyp zu konvertieren. Der Float-Datentyp benötigt mehr Bytes als der Int-Datentyp. Wir müssen also explizite Typumwandlung verwenden, um den Gleitkommawert in einen Int-Wert umzuwandeln. Das folgende Codebeispiel zeigt, wie ein Gleitkommawert mit expliziter Typumwandlung in C# in einen ganzzahligen Wert konvertiert wird.

using System;

namespace convert_float_to_int
{
    class Program
    {
        static void Main(string[] args)
        {
            float f = 10.2f;
            int i = (int)f;
            Console.WriteLine("Converted float {0} to int {1}", f, i);
        }
    }
}

Ausgabe:

Converted float 10.2 to int 10

Wir haben die Float-Variable f mit expliziter Typisierung in C# in die Integer-Variable i konvertiert. Das (int) wird verwendet, um f in i umzuwandeln. Das Problem bei diesem Ansatz ist, dass alle Werte nach dem Dezimalpunkt ignoriert werden. Beispielsweise wird der Gleitkommawert 10.9 auch in den ganzzahligen Wert 10 umgewandelt.

Konvertieren von Float in Int mit der Funktion Math.Ceiling() in C

Wenn wir die Werte nach dem Dezimalpunkt berücksichtigen möchten, müssen wir einen anderen Ansatz als die explizite Typumwandlung verwenden. Die Funktion Math.Ceiling() konvertiert einen Dezimalwert in den nächsten ganzzahligen Wert. Die Funktion Math.Ceiling() gibt einen doppelten Wert zurück, der durch explizite Typumwandlung in einen ganzzahligen Wert konvertiert werden kann. Das folgende Codebeispiel zeigt uns, wie wir mit der Funktion Math.Ceiling() in C# einen Gleitkommawert in einen ganzzahligen Wert konvertieren können.

using System;

namespace convert_float_to_int
{
    class Program
    {
        static void Main(string[] args)
        {
            float f = 10.2f;
            int i = (int)Math.Ceiling(f);
            Console.WriteLine("Converted float {0} to int {1}", f, i);
        }
    }
}

Ausgabe:

Converted float 10.8 to int 11

Wir haben die Float-Variable f mit der Funktion Math.Ceiling() in C# in die Integer-Variable i konvertiert. Mit (int) wird der von der Funktion Math.Ceiling() zurückgegebene Doppelwert in einen ganzzahligen Wert umgewandelt. Das Problem bei diesem Ansatz ist, dass immer der nächste ganzzahlige Wert zurückgegeben wird. Beispielsweise wird der Gleitkommawert 10.1 auch in den ganzzahligen Wert 11 umgewandelt.

Konvertieren von Float in Int mit der Funktion Math.Floor() in C

Die Funktion Math.Floor() kann auch zusammen mit der expliziten Typumwandlung verwendet werden, um einen Gleitkommawert in einen ganzzahligen Wert in C# umzuwandeln. Mit der Funktion Math.Floor() wird der Dezimalwert in den vorherigen ganzzahligen Wert konvertiert. Die Funktion Math.Floor() gibt einen doppelten Wert zurück, der durch explizite Typumwandlung in einen ganzzahligen Wert konvertiert werden kann. Das folgende Codebeispiel zeigt uns, wie wir mit der Funktion Math.Floor() in C# einen Gleitkommawert in einen ganzzahligen Wert konvertieren können.

using System;

namespace convert_float_to_int
{
    class Program
    {
        static void Main(string[] args)
        {
            float f = 10.2f;
            int i = (int)Math.Floor(f);
            Console.WriteLine("Converted float {0} to int {1}", f, i);
        }
    }
}

Ausgabe:

Converted float 10.2 to int 10

Wir haben die Float-Variable f mit der Funktion Math.Floor() in C# in die Integer-Variable i konvertiert. Mit (int) wird der von der Funktion Math.Floor() zurückgegebene Doppelwert in einen ganzzahligen Wert umgewandelt. Das Problem bei diesem Ansatz ist, dass immer der vorherige ganzzahlige Wert zurückgegeben wird. Beispielsweise wird der Gleitkommawert 10.9 auch in den ganzzahligen Wert 10 umgewandelt.

Konvertieren von Float in Int mit der Funktion Math.Round() in C

Die oben diskutierten Ansätze funktionieren, aber jeder Ansatz hat einige Nachteile. Wenn wir einen Gleitkommawert in einen ganzzahligen Wert konvertieren möchten, aber nicht möchten, dass sich unsere Daten ändern, können wir die Funktion Math.Round() in C# verwenden. Die Funktion Math.Round() wird, wie der Name schon sagt, verwendet, um Dezimalwerte auf den nächsten ganzzahligen Wert aufzurunden. Das Math.Round() gibt einen doppelten Wert zurück, der mit expliziter Typumwandlung in den ganzzahligen Datentyp konvertiert werden kann. Das folgende Codebeispiel zeigt uns, wie wir mit der Funktion Math.Round() in C# einen Gleitkommawert in einen ganzzahligen Wert konvertieren können.

using System;

namespace convert_float_to_int
{
    class Program
    {
        static void Main(string[] args)
        {
            float f = 10.8f;
            int i = (int) Math.Round(f);
            Console.WriteLine("Converted float {0} to int {1}", f, i);
        }
    }
}

Ausgabe:

Converted float 10.8 to int 11

Wir haben die Float-Variable f mit der Funktion Math.Round() in C# in die Integer-Variable i konvertiert. Mit (int) wird der von der Funktion Math.Round() zurückgegebene Doppelwert in einen ganzzahligen Wert umgewandelt. Dies ist der optimale Ansatz zum Konvertieren eines Float-Werts in einen ganzzahligen Wert in C#.

Verwandter Artikel - Csharp Float

  • Float vs Double vs Decimal in C#
  • Verwandter Artikel - Csharp Integer

  • Zufallszahl in einem Bereich in C#
  • Wie man den Int-Wert von Enum in C# erhält