ﬂoat, double, decimal C# with Example
float is an alias to the .NET datatype System.Single. It allows IEEE 754 single-precision ﬂoating point numbers to
be stored. This data type is present in mscorlib.dll which is implicitly referenced by every C# project when you
Approximate range: -3.4 × 1038 to 3.4 × 1038
Decimal precision: 6-9 signiﬁcant digits
float f = 0.1259;
var f1 = 0.7895f; // f is literal suffix to represent float values
It should be noted that the float type often results in signiﬁcant rounding errors. In applications where
precision is important, other data types should be considered.
double is an alias to the .NET datatype System.Double. It represents a double-precision 64-bit ﬂoating-point
number. This datatype is present in mscorlib.dll which is implicitly referenced in any C# project.
Range: ±5.0 × 10− 324 to ±1.7 × 10308
Decimal precision: 15-16 signiﬁcant digits
double distance = 200.34; // a double value
double salary = 245; // an integer implicitly type-casted to double value
var marks = 123.764D; // D is literal suffix to represent double values
decimal is an alias to the .NET datatype System.Decimal. It represents a keyword indicates a 128-bit data type.
Compared to ﬂoating-point types, the decimal type has more precision and a smaller range, which makes it
appropriate for ﬁnancial and monetary calculations. This datatype is present in mscorlib.dll which is implicitly
referenced in any C# project.
Range: -7.9 × 1028 to 7.9 × 1028
Decimal precision: 28-29 signiﬁcant digits
decimal payable = 152.25m; // a decimal value
var marks = 754.24m; // m is literal suffix to represent decimal values