IModelling.Int

Синтаксис Fore

Int(Input: Variant): Variant;

Синтаксис Fore.NET

Int(Input: object; Context: Prognoz.Platform.Interop.Fore.ForeRuntime.Context): object;

Параметры

Input. Переменная.

Описание

Метод Int округляет значения точек указанной переменной до ближайшего меньшего целого.

Комментарии

Диапазон допустимых значений входной переменной [MinInteger; MaxInteger]. MinInteger = -231, MaxInteger = 231 - 1.

Если входной параметр выходит за левую границу допустимых значений, метод возвращает MinInteger.

Если входной параметр выходит за правую границу допустимых значений, метод возвращает MaxInteger.

Пример Fore

Для выполнения примера предполагается наличие в репозитории контейнера моделирования с идентификатором «MS». В контейнере содержится модель с идентификатором «MODEL_D», рассчитываемая методом детерминированного уравнения и содержащая хотя бы одну входную переменную.

Добавьте ссылки на системные сборки: Metabase, Ms.

Sub UserProc;
Var
    Mb: IMetabase;
    ModelSpace, ModelObj: IMetabaseObject;
    Transf: IMsFormulaTransform;
    Formula: IMsFormula;
    Model: IMsModel;
    Determ: IMsDeterministicTransform;
    TransVar: IMsFormulaTransformVariable;
    Slice: IMsFormulaTransformSlice;
    TermInfo: IMsFormulaTermInfo;
    Expr: IExpression;
Begin
    Mb := MetabaseClass.Active;
    ModelSpace := Mb.ItemById("MS").Bind;
    ModelObj := Mb.ItemByIdNamespace("MODEL_D", ModelSpace.Key).Edit;
    Model := ModelObj As IMsModel;
    Transf := Model.Transform;
    Formula := Transf.FormulaItem(0);
    Determ := Formula.Method As IMsDeterministicTransform;
    TransVar := Transf.Inputs.Item(0);
    Slice := TransVar.Slices.Item(0);
    TermInfo := Transf.CreateTermInfo;
    TermInfo.Slice := Slice;
    Expr := Determ.Expression;
    Expr.References := "Ms";
    Expr.AsString := "Int(" + TermInfo.TermInnerText + ")";
    If Expr.Valid Then ModelObj.Save;
        Else Debug.WriteLine("Модель не сохранена: ошибка в формуле");
    End If;
End Sub UserProc;

После выполнения примера модель будет округлять значения точек первой входной переменной до ближайшего меньшего целого.

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.

Imports Prognoz.Platform.Interop.Ms;
Imports Prognoz.Platform.Interop.ForeSystem;

Public Shared Sub Main(Params: StartParams);
Var
    Mb: IMetabase;
    ModelSpace, ModelObj: IMetabaseObject;
    Transf: IMsFormulaTransform;
    Formula: IMsFormula;
    Model: IMsModel;
    Determ: IMsDeterministicTransform;
    TransVar: IMsFormulaTransformVariable;
    Slice: IMsFormulaTransformSlice;
    TermInfo: IMsFormulaTermInfo;
    Expr: IExpression;
Begin
    Mb := Params.Metabase;
    ModelSpace := Mb.ItemById["MS"].Bind();
    ModelObj := Mb.ItemByIdNamespace["MODEL_D", ModelSpace.Key].Edit();
    Model := ModelObj As IMsModel;
    Transf := Model.Transform;
    Formula := Transf.FormulaItem[0];
    Determ := Formula.Method As IMsDeterministicTransform;
    TransVar := Transf.Inputs.Item[0];
    Slice := TransVar.Slices.Item[0];
    TermInfo := Transf.CreateTermInfo();
    TermInfo.Slice := Slice;
    Expr := Determ.Expression;
    Expr.References := "Ms";
    Expr.AsString := "Int(" + TermInfo.TermInnerText + ")";
    If Expr.Valid Then ModelObj.Save();
        Else System.Diagnostics.Debug.WriteLine("Модель не сохранена: ошибка в формуле");
    End If;
End Sub;

Пример использования в выражениях

Выражение 1:

Int({Brazil|BCA})

Результат: наблюдения показателя Brazil|BCA будут округлены до ближайшего меньшего целого.

Применение: можно использовать в формулах вычисляемых рядов базы данных временных рядов и в формулах моделей контейнера моделирования, являющегося дочерним по отношению к базе данных временных рядов.

Выражение 2:

Int(X1)

Результат: точки фактора X1 будут округлены до ближайшего меньшего целого.

Применение: можно использовать в формулах моделей контейнера моделирования.

Выражение 3:

Int(4.6)

Результат: 4.

Применение: можно использовать в формулах вычисляемых рядов базы данных временных рядов и моделей контейнера моделирования.

См. также:

IModelling | База данных временных рядов: Калькулятор | Контейнер моделирования: Редактирование регрессора/формулы