Имя типа float. Внутреннее представление, диапазон и точность совпадают с типом double языка C для используемой платформы. Однако функции преобразования вещественных чисел из строки и в строку поддерживают только числа от -3.4028235E38 до 3.4028235E38. Начальное значение переменной: 0.0. Данное может быть преобразовано в типы uint, int и в строку. Если строчная константа содержит число, меньше -3.40282356E38 или больше 3.40282356E38, то она преобразуется в -3.40282356E38 или 3.40282356E38 соответственно. Аналогично, если при вычислениях получилось число больше максимального или меньше минимального, то при преобразовании в строку оно ограничивается величинами, указанными ранее.
При преобразовании в int производится отбрасывание дробной части без округления.
При преобразовании в uint отрицательное вещественное число становится равным 0.
При преобразовании в строку по умолчанию используется экспоненциальное представление с одним значащим разрядом мантиссы и указанием порядка (преобразованием в строку можно управлять при помощи операции floatstyle). Это означает, что число 123.4567 при преобразовании из внутреннего представления в строку будет показываться как 1.234567E2. Значимыми в мантиссе при преобразовании из строки в вещественное число являются 7 знаков, не включая точку. То же самое касается порядка числа. При преобразовании из строки регистр латинской буквы E, обозначающей экспоненту, не имеет значения. При преобразовании в строку всегда символ экспоненты будет в верхнем регистре.
Примеры правильных вещественных чисел:
1256E2
4.4E19
-1685.2e2
0.001e12
+1.12
100.0
-100.23
Вещественные числа преобразуются в логические по следующему правилу – если число равно 0.0, то результат преобразования FALSE. Если число больше или меньше 0.0, то результат преобразования TRUE.
В базовой реализации Ci имеется несколько вещественных литеральных констант для упрощения записи при математических вычислениях:
PI (число пи) == 3.141593;
PI/2 (число пи, деленное на 2) == 1.570796;
_1/PI (1 деленное на пи) == 3.183099E-1;
SQRT2 (корень из 2) == 1.414214;
_1/SQRT2 (1 деленное на корень из 2) == 7.071068E-1;
LOG2E (логарифм числа e по основанию 2) == 1.442695;
LOG10E (логарифм числа e по основанию 10) == 4.342945E-1;
LOG2 (логарифм 2 по основанию e) == 6.931472E-1;
LOG10 (логарифм 10 по основанию e) == 2.302585;
E (число e) == 2.718282.