Ниже приводится таблица вещественных типов, содержащая их размер, количество значащих цифр и диапазон допустимых значений:
| Тип | Размер, байт | Количество значащих цифр |
Диапазон значений |
real |
8 | 15-16 | -1.8∙10308 .. 1.8∙10308 |
double |
8 | 15-16 | -1.8∙10308 .. 1.8∙10308 |
single |
4 | 7-8 | -3.4∙1038 .. 3.4∙1038 |
decimal |
16 | 28-29 | -79228162514264337593543950335 .. 79228162514264337593543950335 |
Типы real и double являются синонимами. Самое маленькое положительное число типа real приблизительно равно 5.0∙10-324, для типа single оно составляет приблизительно 1.4∙10-45.
Максимальные значения для каждого вещественного типа определены как внешние стандартные константы: MaxReal, MaxDouble и MaxSingle.
Для каждого вещественного типа R
кроме decimal
определены также следующие константы как статические члены класса:
R.MinValue- константа, представляющая минимальное значение типаR;
R.MaxValue- константа, представляющая максимальное значение типаR;
R.Epsilon- константа, представляющая самое маленькое положительное число типаR;
R.NaN- константа, представляющая не число (возникает, например, при делении 0/0);
R.NegativeInfinity- константа, представляющая отрицательную бесконечность (возникает, например, при делении -2/0);
R.PositiveInfinity- константа, представляющая положительную бесконечность (возникает, например, при делении 2/0).
Для каждого вещественного типа R кроме decimal определены
следующие статические функции:
R.IsNaN(r)- возвращаетTrue, если вrхранится значениеR.NaN, иFalseв противном случае;
R.IsInfinity(r)- возвращаетTrue, если вrхранится значениеR.PositiveInfinityилиR.NegativeInfinity, иFalseв противном случае;
R.IsPositiveInfinity(r)- возвращаетTrue, если вrхранится значениеR.PositiveInfinity, иFalseв противном случае;
R.IsNegativeInfinity(r)- возвращаетTrue, если вrхранится значениеR.NegativeInfinity, иFalseв противном случае;
Для каждого вещественного типа R определены
следующие статические функции:
R.Parse(s)- функция, конвертирующая строковое представление числа в значение типаR. Если преобразование невозможно, то генерируется исключение;
R.TryParse(s,res)функция, конвертирующая строковое представление числа в значение типаRи записывающая его в переменнуюres. Если преобразование возможно, то возвращается значениеTrue, в противном случае -False.
Кроме того, определена экземплярная
функция ToString, возвращающая строковое
представление переменной типа R.
Вещественные константы можно записывать как в форме с плавающей точкой, так и в экспоненциальной форме:
1.70.0132.5e3(2500)1.4e-1(0.14)