double (справочник по C#)

Обновлен: Ноябрь 2007

Ключевое слово double обозначает простой тип, используемый для хранения 64-разрядных значений с плавающей запятой. В следующей таблице представлен приблизительный диапазон и точность для типа double.

Тип

Приблизительный диапазон

Точность

Тип платформы .NET Framework

double

от ±5,0 Ч 10−324 до ±1,7 Ч 10308

15-16 знаков

System.Double

Литералы

По умолчанию фактический численный литерал в правой части оператора назначения обрабатывается как тип double. При этом, если необходимо, чтобы целое число обрабатывалось как тип double, следует использовать суффикс d или D, например:

double x = 3D;

Преобразования

В одном выражении можно вместе использовать целочисленные типы и типы с плавающей запятой. В таком случае целочисленные типы преобразуются в типы с плавающей запятой. Вычисление выражения выполняется в соответствии со следующими правилами.

  • Если одним из типов с плавающей запятой является double, результатом вычисления выражения является тип double или bool в реляционных либо логических выражениях.

  • Если в выражении не используется тип double, результатом вычисления является тип float или bool в реляционных либо логических выражениях.

Выражения с плавающей запятой могут содержать следующие наборы значений:

  • положительный и отрицательный ноль;

  • положительную и отрицательную бесконечность;

  • нечисловое значение (NaN);

  • конечный набор ненулевых значений;

Дополнительные сведения об этих значениях см. в документе "IEEE Standard Binary Floating-Point Arithmetic" ("Стандарт организации IEEE в отношении двоичной арифметики с плавающей запятой"), который доступен на веб-узле организации IEEE (на английском языке).

Пример

В следующим примере складываются значения, имеющие типы int, short, float и double. При этом получается результат, имеющий тип double.

// 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#

Дополнительные сведения см. в следующих разделах документа Спецификация языка C#:

  • 1.3 Типы и переменные

  • 4.1.5 Целочисленные типы

См. также

Основные понятия

Руководство по программированию в C#

Ссылки

Ключевые слова C#

Таблица встроенных типов (Справочник по C#)

Таблица неявных числовых преобразований (Справочник по C#)

Таблица явных числовых преобразований (справочник по C#)

Другие ресурсы

Справочник по C#

Таблица значений по умолчанию (Справочник по C#)

Таблица типов с плавающей запятой (Справочник по C#)