Float vs Double vs Decimal em C#

Muhammad Maisam Abbas 16 fevereiro 2024
  1. O tipo de dados Float em C#
  2. O tipo de dados Double em C#
  3. O tipo de dados decimal em C#
  4. Flutuante vs duplo vs decimal em C#
Float vs Double vs Decimal em C#

Este tutorial discutirá as semelhanças e diferenças entre os tipos de dados Float, Double e Decimal em C#.

O tipo de dados Float em C#

O tipo de dados Float armazena valores de ponto flutuante em C#. A palavra-chave float é usada para declarar uma variável float. Temos que usar o especificador f durante a inicialização para dizer ao compilador que o valor é um valor de ponto flutuante. Uma variável flutuante tem o tamanho de 32bits, o que significa que pode armazenar valores de -3.402823e38 a +3.402823e38. Uma variável flutuante tem uma precisão de 7 dígitos em C#. O exemplo de código a seguir nos mostra como podemos declarar uma variável float em C#.

using System;

namespace data_types {
  static void Main(string[] args) {
    float fval = 100.0f / 3;
    Console.WriteLine(fval);
  }
}
}

Resultado:

33.33333

Inicializamos a variável float fval com a palavra-chave float e o especificador f em C#. A saída impressa mostra que a precisão de fval é de apenas 7 dígitos.

O tipo de dados Double em C#

O tipo de dados duplo também armazena valores de ponto flutuante em C#. A palavra-chave double é usada para declarar uma variável dupla. Temos que usar o especificador d durante a inicialização para dizer ao compilador que o valor é um valor duplo. Uma variável dupla tem tamanho 64bits, o que significa que pode armazenar valores de -1.79769313486232e308 a +1.79769313486232e308. Uma variável dupla tem uma precisão de 15 dígitos em C#. O exemplo de código a seguir nos mostra como podemos declarar uma variável dupla em C#.

using System;

namespace data_types {
  static void Main(string[] args) {
    double dval = 100.0d / 3;
    Console.WriteLine(dval);
  }
}
}

Resultado:

33.3333333333333

Inicializamos a variável dupla dval com a palavra-chave double e o especificador d em C#. A saída impressa mostra que a precisão de dval é de 15 dígitos.

O tipo de dados decimal em C#

O tipo de dados decimal também armazena valores de ponto flutuante em C#. A palavra-chave decimal é usada para declarar uma variável decimal. Temos que usar o especificador M durante a inicialização para dizer ao compilador que o valor é um valor decimal. Uma variável decimal tem 128bits em tamanho, o que significa que pode armazenar valores de -79,228,162,514,264,337,593,543,950,335 a +79,228,162,514,264,337,593,543,950,335. Uma variável decimal tem uma precisão de 29 dígitos em C#. O exemplo de código a seguir nos mostra como podemos declarar uma variável decimal em C#.

using System;

namespace data_types {
  static void Main(string[] args) {
    decimal dval = 100.0M / 3;
    Console.WriteLine(dval);
  }
}
}

Resultado:

33.333333333333333333333333333

Inicializamos a variável decimal dval com a palavra-chave decimal e o especificador M em C#. A saída impressa mostra que a precisão do dval é de 29 dígitos.

Flutuante vs duplo vs decimal em C#

Os tipos de dados float e double são menores em precisão e tamanho do que o tipo de dados decimal. Portanto, o tipo de dados decimal é recomendado para registrar informações confidenciais que requerem um grande número de algarismos significativos, como transações financeiras. Mas, o tipo de dados decimal é muito mais lento do que os tipos de dados float e double. Assim, sempre que estamos lidando com alguns valores científicos que já são uma aproximação e não requerem uma precisão muito alta, podemos usar o tipo de dados float ou double dependendo de nossas necessidades.

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

Artigo relacionado - Csharp Float

Artigo relacionado - Csharp Double

Artigo relacionado - Csharp Decimal