You can define a number in various ways in C#,
1F // a float with the value 1
1L // a long with the value 1
1D // a double with the value 1
Type Suffix .NET Framework Type
-------------------------------------------------------------------------------------
decimal M or m System.Decimal
double D or d System.Double
float F or f System.Single
int [1] System.Int32
long L or l System.Int64
[1] When an integer literal has no suffix, its type is the first of these types in which its value can be represented: int, uint, long, ulong.
When an integer literal specifies only a U or u suffix, its type is the first of these types in which its value can be represnted: uint, ulong.
When an integer literal specifies only a L or l suffix, its type is the first of these types in which its value can be represnted: long, ulong.
When an integer literal specifies both a U or u and L or l suffix, its type is the first of these types in which its value can be represnted: ulong.
for money:
decimal mon = 1m;
for output:
string curr = String.Format("{0:C}", mon); //output $1.00
Suffix - Description
none - first of int, uint, long and ulong
U or u - first of uint, ulong
L or l - first of long, ulong
UL, Ul, uL, ul, LU, Lu, lU, or lu - ulong
Suffix - Description
none - double
F or f - float
D or d - double
M or m - decimal