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. | |