What is Difference Between Double and Decimal in C#?

Property

Double

Decimal

Memory Storage

Double is stored in memory in binary form , which means that it can accurately display only those numbers that are a power of 2. Otherwise, decimal rounding errors occur.

Decimal is stored in memory in decimal form , so it can display fractional parts of a number with absolute precision.

When to use?

Decimal is needed where the fractional part is important. For example, when working with finance .

For values that are more artifacts of nature that can’t really be measured exactly anyway, float are more appropriate. For example, scientific data would usually be represented in this form.

Memory Occupied

Fractional Precision

15-16 places

28-29 places

Special Values

+0, -0,+ ∞- ∞, NaN

Additionaly

Double is a native type for the processor, so operations with this type are much faster.