# double (C# Reference)

Visual Studio 2015

Updated: July 20, 2015

For the latest documentation on Visual Studio 2017 RC, see Visual Studio 2017 RC Documentation.

The `double` keyword signifies a simple type that stores 64-bit floating-point values. The following table shows the precision and approximate range for the `double` type.

TypeApproximate rangePrecision.NET Framework type
`double`±5.0 × 10−324 to ±1.7 × 1030815-16 digitsSystem.Double

## Literals

By default, a real numeric literal on the right side of the assignment operator is treated as `double`. However, if you want an integer number to be treated as `double`, use the suffix d or D, for example:

```
double x = 3D;

```

## Conversions

You can mix numeric integral types and floating-point types in an expression. In this case, the integral types are converted to floating-point types. The evaluation of the expression is performed according to the following rules:

• If one of the floating-point types is `double`, the expression evaluates to `double`, or bool in relational or Boolean expressions.

• If there is no `double` type in the expression, it evaluates to float, or bool in relational or Boolean expressions.

A floating-point expression can contain the following sets of values:

• Positive and negative zero.

• Positive and negative infinity.

• Not-a-Number value (NaN).

• The finite set of nonzero values.

For more information about these values, see IEEE Standard for Binary Floating-Point Arithmetic, available on the IEEE Web site.

## Example

In the following example, an int, a short, a float, and a `double` are added together giving a `double` result.

```    // Mixing types in expressions
class MixedTypes
{
static void Main()
{
int x = 3;
float y = 4.5f;
short z = 5;
double w = 1.7E+3;
// Result of the 2nd argument is a double:
Console.WriteLine("The sum is {0}", x + y + z + w);
}
}
// Output: The sum is 1712.5
```

## C# Language Specification

For more information, see the C# Language Specification. The language specification is the definitive source for C# syntax and usage.