# Should I use double or decimal C#?

## Should I use double or decimal C#?

Use double for non-integer math where the most precise answer isn’t necessary. Use decimal for non-integer math where precision is needed (e.g. money and currency). Use int by default for any integer-based operations that can use that type, as it will be more performant than short or long .

### Can a double have a decimal C#?

The most important factor is that double , being implemented as a binary fraction, cannot accurately represent many decimal fractions (like 0.1) at all and its overall number of digits is smaller since it is 64-bit wide vs. 128-bit for decimal .

What is the difference between a double and a decimal data type in C#?

Compared to floating-point types, the decimal type has BOTH a greater precision and a smaller range. The main difference between decimal and double data types is that decimals are used to store exact values while doubles, and other binary based floating point types are used to store approximations.

Does double allow decimal?

double is a 64 bit IEEE 754 double precision Floating Point Number (1 bit for the sign, 11 bits for the exponent, and 52* bits for the value), i.e. double has 15 decimal digits of precision.

## What does M mean in decimal C#?

From the C# Annotated Standard (the ECMA version, not the MS version): The decimal suffix is M/m since D/d was already taken by double . Although it has been suggested that M stands for money, Peter Golde recalls that M was chosen simply as the next best letter in decimal .

### Is decimal more precise than double?

Decimal is more precise than double because it has more bits of precision.

Is double same as float?

Double is more precise than float and can store 64 bits, double of the number of bits float can store. Double is more precise and for storing large numbers, we prefer double over float. Unless we do need precision up to 15 or 16 decimal points, we can stick to float in most applications, as double is more expensive.

What is default value of decimal C#?

Data types in C# is mainly divided into three categories

Alias Type name Default value
decimal System.Decimal 0.0M

## What does F mean in C#?

F stands for frames. For example, 0.5f means the movement will go at half the real-time (or normal) speed. 0.25f is a quarter of real-time speed. The reason time doesn’t work in seconds is because Unity and C# use delta time according to a timescale rather than a single point in time.