The double keyword denotes a simple type that stores 64-bit floating-point values. The following table shows the precision and approximate range for the double type.
|
Type
|
Approximate range
|
Precision
|
.NET Framework type
|
| double | ±5.0 × 10−324 to ±1.7 × 10308 | 15-16 digits | System.Double |
By default, a real numeric literal on the right-hand 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:
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 the case of relational or Boolean expressions.
-
If there is no double type in the expression, it evaluates to float, or bool in the case of 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 on these values, refer to IEEE Standard for Binary Floating-Point Arithmetic, available on the Web site http://www.ieee.org/portal/index.jsp.
In the following example, an int, a short, a float, and a double are added together giving a double result.
// keyword_double.cs
// Mixing types in expressions
using System;
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 following sections in the C# Language Specification:
-
1.3 Types and Variables
-
4.1.5 Integral Types
Reference
C# Keywords
Built-In Types Table (C# Reference)
Implicit Numeric Conversions Table (C# Reference)
Explicit Numeric Conversions Table (C# Reference)
Concepts
C# Programming Guide
Other Resources
C# Reference
Default Values Table (C# Reference)
Floating-Point Types Table (C# Reference)