HOWTO · Csharp

Converter duplo em int em C#

Existem 3 métodos principais que podem ser usados para converter double para int em C#, typecasting, a função Convert.ToInt32() e a função Math.Round().

Este tutorial irá apresentar os métodos para converter um valor duplo em um valor int em C#.

Converter Double to Int com Typecasting explícito em C#

Como sabemos, um tipo de dados double leva mais bytes do que um inteiro. Precisamos usar typecasting explícito para converter um valor duplo em um valor int em C#. O exemplo de código a seguir nos mostra como podemos usar typecasting explícito para converter um valor duplo em um valor int em C#.

using System;

namespace convert_double_to_int {
  class Program {
    static void Main(string[] args) {
      double d = 7.7;
      int x = (int)d;
      Console.WriteLine(x);
    }
  }
}

Resultado:

7

Convertemos o valor duplo d para o valor inteiro x com conversão explícita de tipos em C#. Obtemos 7 como saída porque a conversão de tipos explícita ignora completamente os valores após a vírgula decimal. A projeção de tipos explícita não é recomendada porque ocorre uma grande perda de dados ao usar a projeção de tipos explícita.

Converta Double to Int com a função Convert.ToInt32() em C#

A função Convert.ToInt32() converte um valor em um valor inteiro. A função Convert.ToInt32() converte o valor em um inteiro assinado de 32 bits equivalente. O exemplo de código a seguir nos mostra como podemos usar a função Convert.ToInt32() para converter um valor duplo em um valor inteiro em C#.

using System;

namespace convert_double_to_int {
  class Program {
    static void Main(string[] args) {
      double d = 7.7;
      int x = Convert.ToInt32(d);
      Console.WriteLine(x);
    }
  }
}

Resultado:

8

No código acima, convertemos o valor duplo d em um valor inteiro x com a função Convert.ToInt32() em C#.

Converta Double to Int com a função Math.Round() em C#

A função Math.Round() é usada para arredondar um valor decimal para seu valor inteiro mais próximo. O Math.Round() retorna um valor decimal arredondado para o valor inteiro mais próximo. O exemplo de código a seguir nos mostra como usar a função Math.Round() para converter um valor decimal em um valor inteiro em C#.

using System;

namespace convert_double_to_int {
  class Program {
    static void Main(string[] args) {
      double d = 7.7;
      int x = (int)Math.Round(d);
      Console.WriteLine(x);
    }
  }
}

Resultado:

8

No código acima, convertemos o valor duplo d para o valor inteiro x com a função Math.Round() em C#. Para armazenar o valor dentro da variável inteira x, tivemos que usar typecasting explícito porque a função Math.Round() retorna um valor duplo.