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