Вещественные типы
Вещественные типы
Ниже приводится таблица вещественных типов, содержащая их размер, количество значащих цифр и диапазон допустимых значений:
Тип
Размер, байт
Количество
значащих цифр
Диапазон значений
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
single
4
7-8
-3.4?1038 .. 3.4?1038
decimal
16
30
-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.7 0.013 2.5e3 (2500) 1.4e-1 (0.14)