Diferencia entre tipo de dato float, double y decimal en C#

Todos estos tipos de dato son similares debido a que todos tienen un valor decimal, pero son diferentes en la forma en la que almacenan dicho valor. Un valor del tipo float tiene una precisión de 7 dígitos, mientras que un valor del tipo double entre 15-16 dígitos. Por otra parte, un valor del tipo decimal, tiene una precisión de 28-29 dígitos. Esto significa que debemos utilizar cada uno de ellos, de acuerdo a la situación a la que nos enfrentemos:

Decimal:

Debe ser utilizado en aplicaciones de alta precisión, como por ejemplo, las financieras, o aquellas donde se hagan cálculos que requieran suma precisión.

Double:

Puede usarse en situaciones que no requieran el uso de dinero.

Float:

Puede usarse en situaciones en las que puedan existir errores de redondeo, y requieran el uso intensivo de procesamiento, como el dibujo de gráficas o juegos.

Ejemplos de Uso:

//Decimal
decimal decimal = 12.12m;

//Flotante
float doble = 12.12f;

//Doble
double doble = 12.12d;

 

Saludos.