Convertir Float a Int en C#

Muhammad Maisam Abbas 16 febrero 2024
  1. Convierta Float a Int con conversión de tipos explícita en C#
  2. Convierta Float a Int con la función Math.Ceiling() en C#
  3. Convertir Float a Int con la función Math.Floor() en C#
  4. Convierta Float a Int con la función Math.Round() en C#
Convertir Float a Int en C#

Este tutorial presentará métodos para convertir un valor flotante en un valor entero en C#.

Convierta Float a Int con conversión de tipos explícita en C#

La conversión de tipos es una forma de convertir un valor de un tipo de datos a otro tipo de datos. El tipo de datos Float ocupa más bytes que el tipo de datos Int. Entonces, tenemos que usar el encasillado explícito para convertir el valor flotante en un valor Int. El siguiente ejemplo de código nos muestra cómo convertir un valor flotante en un valor entero con conversión de tipos explícita en C#.

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);
    }
  }
}

Producción :

Converted float 10.2 to int 10

Convertimos la variable flotante f a la variable entera i con encasillamiento explícito en C#. El (int) se utiliza para convertir f en i. El problema con este enfoque es que ignora todos los valores después del punto decimal. Por ejemplo, el valor flotante 10.9 también se convierte al valor entero 10.

Convierta Float a Int con la función Math.Ceiling() en C#

Si queremos considerar los valores después del punto decimal, tenemos que usar algún enfoque que no sea el encasillado explícito. La función Math.Ceiling() convierte un valor decimal en el siguiente valor entero. La función Math.Ceiling() devuelve un valor doble que se puede convertir en un valor entero mediante la conversión de tipos explícita. El siguiente ejemplo de código nos muestra cómo podemos convertir un valor flotante en un valor entero con la función Math.Ceiling() en C#.

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);
    }
  }
}

Producción :

Converted float 10.8 to int 11

Convertimos la variable flotante f a la variable entera i con la función Math.Ceiling() en C#. El (int) se utiliza para convertir el valor doble devuelto por la función Math.Ceiling() a un valor entero. El problema con este enfoque es que siempre devuelve el siguiente valor entero. Por ejemplo, el valor flotante 10.1 también se convierte al valor entero 11.

Convertir Float a Int con la función Math.Floor() en C#

La función Math.Floor() también se puede utilizar junto con el encasillado explícito para convertir un valor flotante en un valor entero en C#. La función Math.Floor() se utiliza para convertir el valor decimal al valor entero anterior. La función Math.Floor() devuelve un valor doble que se puede convertir en un valor entero con encasillamiento explícito. El siguiente ejemplo de código nos muestra cómo podemos convertir un valor flotante en un valor entero con la función Math.Floor() en C#.

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);
    }
  }
}

Producción :

Converted float 10.2 to int 10

Convertimos la variable flotante f a la variable entera i con la función Math.Floor() en C#. El (int) se utiliza para convertir el valor doble devuelto por la función Math.Floor() a un valor entero. El problema con este enfoque es que siempre devuelve el valor entero anterior. Por ejemplo, el valor flotante 10.9 también se convierte al valor entero 10.

Convierta Float a Int con la función Math.Round() en C#

Los enfoques discutidos anteriormente funcionan, pero hay algunos inconvenientes en cada enfoque. Si queremos convertir un valor flotante en un valor entero pero no queremos que nuestros datos cambien, podemos usar la función Math.Round() en C#. La función Math.Round(), como sugiere el nombre, se utiliza para redondear los valores decimales al valor entero más cercano. El Math.Round() devuelve un valor doble, que se puede convertir al tipo de datos entero con encasillamiento explícito. El siguiente ejemplo de código nos muestra cómo podemos convertir un valor flotante en un valor entero con la función Math.Round() en C#.

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);
    }
  }
}

Producción :

Converted float 10.8 to int 11

Convertimos la variable flotante f a la variable entera i con la función Math.Round() en C#. El (int) se utiliza para convertir el valor doble devuelto por la función Math.Round() a un valor entero. Este es el enfoque óptimo para convertir un valor flotante en un valor entero en C#.

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

Artículo relacionado - Csharp Float

Artículo relacionado - Csharp Integer