Convertir Float en Int en C#

Muhammad Maisam Abbas 16 février 2024
  1. Convertir Float en Int avec un typage explicite en C#
  2. Convertir Float en Int avec la fonction Math.Ceiling() en C#
  3. Convertir Float en Int avec la fonction Math.Floor() en C#
  4. Convertir Float en Int avec la fonction Math.Round() en C#
Convertir Float en Int en C#

Ce didacticiel présentera des méthodes pour convertir une valeur flottante en une valeur entière en C#.

Convertir Float en Int avec un typage explicite en C#

Le typage est un moyen de convertir une valeur d’un type de données à un autre type de données. Le type de données Float prend plus d’octets que le type de données Int. Nous devons donc utiliser un typage explicite pour convertir la valeur flottante en valeur Int. L’exemple de code suivant nous montre comment convertir une valeur flottante en valeur entière avec un typage explicite 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);
    }
  }
}

Production:

Converted float 10.2 to int 10

Nous avons converti la variable flottante f en variable entière i avec un transtypage explicite en C#. Le (int) est utilisé pour convertir f en i. Le problème avec cette approche est qu’elle ignore toutes les valeurs après la virgule décimale. Par exemple, la valeur flottante 10.9 est également convertie en valeur entière 10.

Convertir Float en Int avec la fonction Math.Ceiling() en C#

Si nous voulons considérer les valeurs après la virgule décimale, nous devons utiliser une approche autre que le typage explicite. La fonction Math.Ceiling() convertit une valeur décimale en valeur entière suivante. La fonction Math.Ceiling() renvoie une valeur double qui peut être convertie en une valeur entière en utilisant un typage explicite. L’exemple de code suivant nous montre comment convertir une valeur flottante en valeur entière avec la fonction 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);
    }
  }
}

Production:

Converted float 10.8 to int 11

Nous avons converti la variable flottante f en variable entière i avec la fonction Math.Ceiling() en C#. Le (int) permet de convertir la valeur double retournée par la fonction Math.Ceiling() en une valeur entière. Le problème avec cette approche est qu’elle renvoie toujours la valeur entière suivante. Par exemple, la valeur flottante 10.1 est également convertie en valeur entière 11.

Convertir Float en Int avec la fonction Math.Floor() en C#

La fonction Math.Floor() peut également être utilisée avec le typage explicite pour convertir une valeur flottante en valeur entière en C#. La fonction Math.Floor() est utilisée pour convertir la valeur décimale en valeur entière précédente. La fonction Math.Floor() renvoie une valeur double qui peut être convertie en une valeur entière avec un typage explicite. L’exemple de code suivant nous montre comment convertir une valeur flottante en valeur entière avec la fonction 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);
    }
  }
}

Production:

Converted float 10.2 to int 10

Nous avons converti la variable flottante f en variable entière i avec la fonction Math.Floor() en C#. Le (int) est utilisé pour convertir la valeur double retournée par la fonction Math.Floor() en une valeur entière. Le problème avec cette approche est qu’elle renvoie toujours la valeur entière précédente. Par exemple, la valeur flottante 10.9 est également convertie en valeur entière 10.

Convertir Float en Int avec la fonction Math.Round() en C#

Les approches discutées ci-dessus fonctionnent, mais chaque approche présente certains inconvénients. Si nous voulons convertir une valeur flottante en valeur entière mais ne voulons pas que nos données changent, nous pouvons utiliser la fonction Math.Round() en C#. La fonction Math.Round(), comme son nom l’indique, permet d’arrondir les valeurs décimales à la valeur entière la plus proche. Le Math.Round() renvoie une valeur double, qui peut être convertie en type de données entier avec un typage explicite. L’exemple de code suivant nous montre comment convertir une valeur flottante en valeur entière avec la fonction 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);
    }
  }
}

Production:

Converted float 10.8 to int 11

Nous avons converti la variable flottante f en variable entière i avec la fonction Math.Round() en C#. Le (int) est utilisé pour convertir la valeur double retournée par la fonction Math.Round() en une valeur entière. Il s’agit de l’approche optimale pour convertir une valeur flottante en une valeur entière 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

Article connexe - Csharp Float

Article connexe - Csharp Integer