Decimal

Переменные типа Decimal хранятся как шестнадцатибайтные целые числа со знаком, масштабируемые с переменным коэффициентом в виде степени 10. Масштабирующий множитель задает количество разрядов после запятой, которое изменяется в пределах от 0 до 28. Для нулевого масштаба (разряды десятичной дроби отсутствуют) наибольшее возможное значение равно +/-79 228 162 514 264 337 593 543 950 335. Для 28 разрядов после запятой наибольшее значение равно +/-7,9228162514264337593543950335, а наименьшее ненулевое значение — +/-0,0000000000000000000000000001 (+/-1E-28).

Для обозначения чисел с типом Decimal используется суффикс «m» или «M»: 1.123m, 1.123e10m, 1.123E-10M. Числа без суффикса рассматриваются как вещественные числа типа Double, при попытке их присвоения переменной типа Decimal возникнет ошибка компиляции «Тип Decimal и Double не совместимы». В этом случае необходимо использовать явное преобразование с помощью оператора As.

Примечание. Источники данных, использующие тип данных Decimal и созданные в старых версиях Prognoz Platform, могут не поддерживаться в более новых версиях. Возможно, потребуется пересоздание источника данных.

Операции

Для двух переменных, имеющих тип Decimal, доступны операции отношения и следующие арифметические операции: *, +, -, /. Результатом арифметических операций является значение типа Decimal.

Примечание. Наследование от класса базового типа Decimal запрещено.

Пример

Sub SampleDecimal;
Var
    d: Decimal;
Begin
    d := 1.123m;
    d := 1.123E-10M;
    d := Decimal.Parse("1.123");
    d := Decimal.MaxValue;
End Sub SampleDecimal;

См. также:

Типы данных | Класс Decimal