Поделиться через


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

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

Тип

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

Точность

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

float

-3.4 × 1038to +3.4 × 1038

7 знаков

Single

Литералы

По умолчанию фактический численный литерал в правой части оператора назначения обрабатывается как тип double. Следовательно, для инициализации переменной типа с плавающей запятой нужно использовать суффикс f или F, как показано в следующем примере:

float x = 3.5F;

Если в предыдущем объявлении не использовать суффикс, то будет выдана ошибка компиляции, потому что это приведет к попытке сохранить значение типа double в переменной типа float.

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

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

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

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

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

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

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

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

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

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

Пример

В следующем примере типы int, short и float включены в математическое выражение, результатом вычисления которого является тип float. (Следует помнить, что ключевое слово float является псевдонимом типа Single). Обратите внимание, что тип double в этом выражении отсутствует.

class FloatTest 
{
    static void Main() 
    {
        int x = 3;
        float y = 4.5f;
        short z = 5;
        var result = x * y / z;
        Console.WriteLine("The result is {0}", result);
        Type type = result.GetType();
        Console.WriteLine("result is of type {0}", type.ToString());
    }
}
/* Output: 
  The result is 2.7
  result is of type System.Single //'float' is alias for 'Single'
 */

Спецификация языка C#

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

См. также

Ссылки

Приведение и преобразование типов (Руководство по программированию на C#)

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

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

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

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

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

Single

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

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

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

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