Float vs Double vs Decimal en C#

Muhammad Maisam Abbas 16 febrero 2024
  1. El tipo de datos Float en C#
  2. El tipo de datos Double en C#
  3. El tipo de datos decimal en C#
  4. Float vs Double vs Decimal en C#
Float vs Double vs Decimal en C#

Este tutorial discutirá las similitudes y diferencias entre los tipos de datos Float, Double y Decimal en C#.

El tipo de datos Float en C#

El tipo de datos flotante almacena valores de punto flotante en C#. La palabra clave float se utiliza para declarar una variable flotante. Tenemos que usar el especificador f durante la inicialización para decirle al compilador que el valor es un valor de punto flotante. Una variable flotante tiene un tamaño de 32bits, lo que significa que puede almacenar valores de -3.402823e38 a +3.402823e38. Una variable flotante tiene una precisión de 7 dígitos en C#. El siguiente ejemplo de código nos muestra cómo podemos declarar una variable flotante en C#.

using System;

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

Producción :

33.33333

Inicializamos la variable float fval con la palabra clave float y el especificador f en C#. La salida impresa muestra que la precisión del fval es sólo de 7 dígitos.

El tipo de datos Double en C#

El Tipo de datos doble también almacena valores de punto flotante en C#. La palabra clave double se utiliza para declarar una variable doble. Tenemos que usar el especificador d durante la inicialización para decirle al compilador que el valor es un valor doble. Una variable doble tiene un tamaño de 64bits, lo que significa que puede almacenar valores desde -1.79769313486232e308 a +1.79769313486232e308. Una variable doble tiene una precisión de 15 dígitos en C#. El siguiente ejemplo de código nos muestra cómo podemos declarar una variable doble en C#.

using System;

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

Producción :

33.3333333333333

Inicializamos la variable doble dval con la palabra clave double y el especificador d en C#. La salida impresa muestra que la precisión del dval es de 15 dígitos.

El tipo de datos decimal en C#

El tipo de datos decimal también almacena valores de punto flotante en C#. La palabra clave decimal se utiliza para declarar una variable decimal. Tenemos que usar el especificador M durante la inicialización para decirle al compilador que el valor es un valor decimal. Una variable decimal tiene un tamaño de 128bits, lo que significa que puede almacenar valores desde -79,228,162,514,264,337,593,543,950,335 a +79,228,162,514,264,337,593,543,950,335. Una variable decimal tiene una precisión de 29 dígitos en C#. El siguiente ejemplo de código nos muestra cómo podemos declarar una variable decimal en C#.

using System;

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

Producción :

33.333333333333333333333333333

Inicializamos la variable decimal dval con la palabra clave decimal y el especificador M en C#. La salida impresa muestra que la precisión del dval es de 29 dígitos.

Float vs Double vs Decimal en C#

Los tipos de datos float y double son de menor precisión y tamaño que el tipo de datos decimal. Por lo tanto, se recomienda el tipo de datos decimal para registrar información sensible que requiere una gran cantidad de cifras significativas como transacciones financieras. Pero, el tipo de datos decimal es mucho más lento que los tipos de datos float y double. Por tanto, siempre que se trate de valores científicos que ya sean aproximados y no requieran una precisión muy alta, podemos utilizar el tipo de datos float o double según nuestras necesidades.

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 Double

Artículo relacionado - Csharp Decimal