float (Справочник по C#)
Ключевое слово float обозначает простой тип, используемый для хранения 32-разрядных значений с плавающей запятой. В следующей таблице представлен приблизительный диапазон и точность для типа float.
Тип |
Приблизительный диапазон |
Точность |
Тип платформы .NET Framework |
---|---|---|---|
float |
-3.4 × 1038to +3.4 × 1038 |
7 знаков |
Литералы
По умолчанию фактический численный литерал в правой части оператора назначения обрабатывается как тип 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#