Realizar operaciones matemáticas

<< Clic para mostrar Tabla de Contenidos >>

Navegación:  Bizagi Studio > Asistente de Procesos > Reglas de Negocio > Ejemplos de reglas de negocio >

Realizar operaciones matemáticas

Bizagi ofrece funciones que le permiten realizar operaciones matemáticas. Este grupo de funciones se invocan a partir de la sentencia:

 

CHelper.Math.

 

Las funciones matemáticas se encuentran dentro de la categoría Matemáticas del Editor de funciones.

 

Math23

 

A continuación mostraremos cómo utilizar las funciones matemáticas en Bizagi:

 

ABS

Esta función devuelve el valor absoluto de un número.

 

CHelper.Math.Abs(Number)

 

El parámetro de esta función puede definirse como un XPath, variable o número.

 

Consideraciones

El parámetro de entrada debe ser de tipo double.

Los tipos de atributo soportados como parámetro de entrada XPath (o XPaths almacenados en variables) son: entero, moneda, flotante, real.

La función devuelve error si evalúa un parámetro no definido o vacío.

Use la función isNaN para validar si el parámetro usado es un número.

 

Ejemplo

En un Proceso de reporte de gastos un empleado registra todos los gastos incurridos en un viaje de negocios. Si los gastos son superiores a los aprobados, la diferencia deberá ser descontada de la nómina del empleado. Como esta diferencia es negativa pero la cantidad de descuento tiene que ser positiva, es necesario utilizar la función Abs:

 

Math16

 

//evalúa si los gastos registrados son mayores a los gastos aprobados

if (<ExpensesReport.TotalExpenses> > <ExpensesReport.ApprovedExpenses>)

{

//Si lo son, obtenga el valor absoluto de la diferencia

<ExpensesReport.AmountToDiscount> = CHelper.Math.Abs(<ExpensesReport.TotalExpenses> - <ExpensesReport.ApprovedExpenses>)

}else

//De lo contrario asigne 0 al monto a descontar de nómina

<ExpensesReport.AmountToDiscount>=0

}

 

Average

Esta función obtiene el promedio (media aritmética) de un conjunto de números.

 

CHelper.Math.Average([Number1,Number2,...])

 

El parámetro de esta función es un arreglo definido entre llaves [], que puede contener XPaths, variables o números.

 

Consideraciones

El parámetro de entrada debe ser un arreglo de datos tipo double.

Los tipos de atributo soportados como parámetros de entrada XPath (o XPaths almacenados en variables) son: entero, moneda, flotante, real.

La función devuelve error si evalúa un arreglo vacío.

La función devuelve error si alguno de los elementos del arreglo es muy grande o vacío.

Tenga cuidado al definir la entrada de la función para evitar que se muestren errores a los usuarios finales.

Use la función isNaN para validar si los parámetros usados son número.

 

Ejemplo

En un Proceso de solicitud de compra, la estimación del precio de un producto se realiza con base en las tres últimas compras del mismo. Los valores de compra se promedian para obtener una estimación. En Bizagi esta estimación se puede obtener usando la función Average:

 

Math2

 

//Obtenga el precio estimado promediando los tres últimos precios de compra

<Product.EstimatedPrice> = CHelper.Math.Average([<Product.Price1>,<Product.Price2>,<Product.Price3>])

 

//Forma alternativa obteniendo el arreglo en una variable antes de usar la función

ArrayVariable=[<Product.Price1>,<Product.Price2>,<Product.Price3>]

<Product.EstimatedPrice> = CHelper.Math.Average(ArrayVariable)

 

 

Ceiling

Esta función redondea una número hacia arriba.

 

CHelper.Math.Ceiling(Number)

 

El parámetro de esta función puede ser definido como un XPath, variable o número.

 

Consideraciones

El parámetro de entrada debe ser de tipo double.

Los tipos de atributo soportados como parámetro de entrada XPath (o XPaths almacenados en variables) son: entero, moneda, flotante, real.

Use la función isNaN para validar si el parámetro usado es un número.

 

Ejemplo

Una empresa transportadora de arena calcula el número de camiones necesarios para transportar una carga específica, como el cociente del peso de la carga sobre la capacidad de carga de los camiones. Como el resultado obtenido puede ser fraccionario (que no tiene sentido en este contexto porque no se puede contratar una fracción de un camión), este resultado debe ser redondeado hacia arriba. En Bizagi esto se puede hacer mediante el uso de la función Ceiling:

 

Math6

 

//Obtenga el número necesario de camiones

NumberofTrucks = <Freight.Weight>/<Freight.Trucks.WeightCapacity>;

//Redondee el número de camiones hacia arriba

<Freight.RequiredTrucks> = CHelper.Math.Ceiling(NumberofTrucks);

 

 

Exp

Esta función devuelve e (la base de los logaritmos naturales) elevado a una potencia dada.

 

CHelper.Math.Exp(Number)

 

El parámetro de esta función puede ser definido como un XPath, variable o número.

 

Consideraciones

Los tipos de atributo soportados como parámetro de entrada XPath (o XPaths almacenados en variables) son: entero, moneda, flotante, real.

Use la función isNaN para validar si el parámetro usado es un número.

EL RESULTADO DE ESTA FUNCIÓN DEBE SER GUARDADO EN UN ATRIBUTO TIPO FLOAT.

 

Ejemplo

Un Laboratorio utiliza Bizagi para gestionar sus investigaciones médicas. En estas investigaciones el laboratorio comúnmente debe realizar estimaciones de crecimiento de colonias bacterianas. Estos crecimientos se suelen modelar usando la siguiente relación exponencial:

 

Math8

 

Donde No es la población inicial, e es la base de los logaritmos naturales, k es una constante y N es la población en el momento t.

 

Para calcular la población final de bacterias en Bizagi, se puede utilizar la función Exp. Esta función recibe la potenciar como parámetro:

 

Math3

 

//Obtenga los parámetros de la fórmula en variables

No=<LabResearch.Bacteria.InitialPopulation>

k=<LabResearch.Bacteria.Growthconstant>

t=<LabResearch.Bacteria.TimeofEstimation>

//Use la fórmula para obtener la población final

<LabResearch.Bacteria.Finalpopulation>=No*CHelper.Math.Exp(k*t)

 

 

Floor

Esta función redondea un número hacia abajo.

CHelper.Math.Floor(Number)

 

El parámetro de esta función puede ser definido como un XPath, variable o número.

 

Consideraciones

El parámetro de entrada debe ser de tipo double.

Los tipos de atributo soportados como parámetro de entrada XPath (o XPaths almacenados en variables) son: entero, moneda, flotante, real.

Use la función isNaN para validar si el parámetro usado es un número.

 

Ejemplo

En un Proceso de solicitud de compra, la estimación del precio de un producto se realiza con base en las tres últimas compras del mismo. Los valores de compra se promedian para obtener la estimación. El departamento de compras ha decidido redondear este valor hacia abajo para obtener una estimación entera. Para este caso, se puede utilizar la función Floor:

 

MAth21

 

//Obtenga el precio estimado promediando los precios de las tres últimas compras

EstimatedPrice = CHelper.Math.Average([<Product.Price1>,<Product.Price2>,<Product.Price3>]);

//Obtenga la parte entera del precio estimado

<Product.IntEstimatedPrice> = CHelper.Math.Floor(EstimatedPrice);

 

IsNaN

Esta función evalúa si un parámetro no es un número:

Devuelve verdadero si el parámetro no es un número.

Devuelve falso si el parámetro es un número.

 

CHelper.Math.IsNaN(Parameter)

 

El parámetro de esta función puede ser definido como un XPath, variable o número.

 

Consideraciones

Los tipos de atributo soportados como parámetro de entrada XPath (o XPaths almacenados en variables) son: entero, moneda, flotante, real.

 

Ejemplo

Suponga que desea evaluar si los parámetros a utilizar en una función Math son números, con el fin de evitar errores y resultados incoherentes. Para hacerlo usted puede utilizar la función IsNaN:

 

Math26

 

 

//Evalúe si los parámetros a utilizar en la función Average son números

Number1IsNotaNumber=CHelper.Math.IsNaN(<Product.Price1>);

Number2IsNotaNumber=CHelper.Math.IsNaN(<Product.Price2>);

 

if (Number1IsNotaNumber==true || Number1IsNotaNumber==true)

{

//Si alguno no es número, muestre un mensaje de error

CHelper.ThrowValidationError ("The parameters of the Average function must be numbers")

}else{

//Si ambos son números aplique la función

CHelper.Math.Average([<Product.Price1>,<Product.Price2>]);

 

 

Ln

Esta función devuelve el logaritmo natural de un número.

 

CHelper.Math.Ln(Number)

 

El parámetro de esta función puede ser definido como un XPath, variable o número.

 

Consideraciones

El parámetro de entrada debe ser de tipo double.

Los tipos de atributo soportados como parámetro de entrada XPath (o XPaths almacenados en variables) son: entero, moneda, flotante, real.

La función devuelve un error si el parámetro de entrada es menor o igual a 0.

La función devuelve un error si el parámetro de entrada es muy grande o no está definido.

Use la función isNaN para validar si el parámetro usado es un número.

 

Ejemplo

Un Laboratorio utiliza Bizagi para gestionar sus investigaciones médicas. En estas investigaciones el laboratorio comúnmente debe realizar estimaciones de crecimiento de colonias bacterianas.  El tiempo que una colonia necesita para lograr un crecimiento esperado se calcula mediante la siguiente expresión:

 

Math14

 

Donde No es la población inicial, e es la base de los logaritmos naturales, k es una constante y N es la población en el momento t.

 

Para calcular el tiempo en alcanzar la población esperada de bacterias en Bizagi, usted puede utilizar la función Ln:

 

 

Math15

 

//Obtenga los parámetros de la fórmula en variables

No = <LabResearch.Bacteria.InitialPopulation>

N = <LabResearch.Bacteria.Finalpopulation>

k = <LabResearch.Bacteria.Growthconstant>

//Use la fórmula para obtener el tiempo que una colonia necesita para alcanzar la población esperada

<LabResearch.Bacteria.TimeofEstimation> = (CHelper.Math.Ln(N / No) / k);

 

 

Log10

Esta función devuelve el logaritmo con base 10 de un número.

 

CHelper.Math.Log10(Number)

 

El parámetro de esta función puede ser definido como un XPath, variable o número.

 

Consideraciones

El parámetro de entrada debe ser de tipo double.

Los tipos de atributo soportados como parámetro de entrada XPath (o XPaths almacenados en variables) son: entero, moneda, flotante, real.

La función devuelve un error si el parámetro de entrada es menor o igual a 0.

La función devuelve un error si el parámetro de entrada es muy grande o no está definido.

Use la función isNaN para validar si el parámetro usado es un número.

 

Ejemplo

Un Banco ofrece variedad de productos a sus clientes. Cuando un cliente está interesado en un CDT (Certificado de Depósito a Término fijo), es común que pregunte por el tiempo necesario (el plazo) que el dinero debe permanecer invertido para alcanzar una cantidad esperada, bajo la tasa de interés ofrecida. Este término se puede calcular utilizando la siguiente fórmula:

 

Math9

Donde n es el plazo necesario (en meses) que el capital inicial Po debe permanecer invertido para lograr el capital deseado P a la tasa de interés i.

 

Para efectuar este cálculo en Bizagi se puede utilizar la función Log10. Esta función recibe un número como parámetro:

 

Math24

 

//Obtenga los parámetros de la fórmula en variables

Po = <CDRequest.InvestedAmount>;

P = <CDRequest.DesiredAmount>;

i = <CDRequest.OfferedInterestRate>;

//Use la fórmula para obtener término necesario

<CDRequest.RequiredTerm> = (CHelper.Math.Log10(P / Po) / CHelper.Math.Log10(1+i));

 

 

Max

Esta función devuelve el valor máximo entre un conjunto de números.

CHelper.Math.Max([Number1,Number2...])

 

Los parámetros de esta función pueden ser definidos como Xpaths, variables o números y deben estar contenidos entre braquets.

 

Consideraciones

Los parámetros de entrada deben ser de tipo double.

Los tipos de atributo soportados como parámetro de entrada XPath (o XPaths almacenados en variables) son: entero, moneda, flotante, real.

La función devuelve un error si el parámetro de entrada es muy grande o no está definido.

 

Ejemplo

Una Solicitud de préstamo no se rechaza si el solicitante o codeudor poseen una puntuación de riesgo mayor a 600. Usted puede utilizar la función Max para evaluar cuál es la mejor puntuación de riesgo y de acuerdo a esto definir si la solicitud es rechazada o no:

 

Math4

 

//Obtenga la mejor puntuación de riesgo entre el solicitante y su codeudor

Bestscore= CHelper.Math.Max([<LoanApplication.Applicant.Score>,<LoanApplication.Coborrower.Score>])

 

//Evalue si la mejor puntuación es mayor o igual a 600

if (Bestscore>=600)

{

//Si lo es no rechace la solicitud

<LoanApplication.Rejected>= false;

}else

{

//De lo contrario rechace la solicitud

<LoanApplication.Rejected>= true;

}

 

 

Min

Esta función devuelve el valor mínimo entre dos números.

 

CHelper.Math.Min([Number1,Number2])

 

Los parámetros de esta función pueden ser definidos como Xpaths, variables o números y deben estar contenidos entre braquets.

 

Consideraciones

Los parámetros de entrada deben ser de tipo double.

Los tipos de atributo soportados como parámetro de entrada XPath (o XPaths almacenados en variables) son: entero, moneda, flotante, real.

La función devuelve un error si el parámetro de entrada es muy grande o no esta definido.

Use la función isNaN para validar si el parámetro usado es un número.

 

Ejemplo

Una Solicitud de préstamo se rechaza si el solicitante o codeudor poseen una puntuación de riesgo menor a 100. Usted puede utilizar la función Min para evaluar cuál es la peor puntuación de riesgo y de acuerdo a esto definir si la solicitud es rechazada o no:

 

Math12

 

 

//Obtenga la peor puntuación de riesgo entre el solicitante y su codeudor

Worstscore= CHelper.Math.Min([<LoanApplication.Applicant.Score>,<LoanApplication.Coborrower.Score>])

//Evalue si la peor puntuación es menor o igual a 100

if (Worstscore<=100)

{

//Si lo es rechace la solicitud

<LoanApplication.Rejected>= true;

}else

{

//De lo contrario no rechace la solicitud

<LoanApplication.Rejected>= false;

}

 

Module

Esta función devuelve el residuo de una división.

 

CHelper.Math.Module(Number,Divisor)

 

Los parámetros de esta función pueden ser definidos como XPaths, variables o números.

 

Consideraciones

Los parámetros de entrada deben ser enteros.

El tipo de atributo soportado como parámetro de entrada XPath (o XPath almacenado en variable) es entero.

La función devuelve un error si el Divisor es igual a 0.

 

Ejemplo

Suponga que en un Proceso se debe evaluar si un número es par. Para ello se puede utilizar la función Module utilizando el número 2 como divisor. Si el resultado obtenido es igual a 0, entonces el número es par.

 

Math19

 

//Obtenga el módulo del número utilizando 2 como divisor

Module= CHelper.Math.Module(<Process.Numbertoevalúate>,2)

//Evalue su el resultado es igual a 0.

if (Module==0)

{

//Si lo es, el número es par

<Process.IsPair>= true;

}else

{

//De lo contrario, el número es impar

<Process.IsPair>= false;

}

 

Percentage

Esta función devuelve el equivalente en porcentaje de un número.

 

CHelper.Math.Percentage(Number)

 

El parámetro de esta función puede ser definido como un XPath, variable o número.

 

Consideraciones

El parámetro de entrada debe ser de tipo double.

Los tipos de atributo soportados como parámetros de entrada XPath (o XPaths almacenados en variables) son: entero, moneda, real ,flotante

La función devuelve un error si el parámetro de entrada es muy grande o no está definido.

Use la función isNaN para validar si el parámetro usado es un número.

 

Ejemplo

En un Proceso de solicitud de crédito, la información de las tasas de interés se muestra e ingresa en las formas, como números entre 0 y 100. Supongamos que en una actividad del Proceso se desea calcular el monto a pagar por concepto de intereses de un período. El proceso no puede utilizar este número entre 0 y 100 para realizar el cálculo, por lo que este debe ser normalizado a un número entre 0 y 1. De esta manera se obtienen resultados coherentes. Para hacer esto en Bizagi, se puede utilizar la función Percentage:

 

 

Math13

 

//Obtenga la tasa de interés (Entre 0 y 1)

RealInterestRate = CHelper.Math.Percentage(<CreditRequest.InterestRate>);

//Calcule el monto del interés

<CreditRequest.InterestAmount> = RealInterestRate * <CreditRequest.RequestedAmount>;

 

 

Power

Esta función obtiene el resultado de un número elevado a una potencia.

 

CHelper.Math.Pow(Base,Power)

 

El parámetro de esta función puede ser definido como un Xpath, variable o número.

 

Consideraciones

Los parámetros de entrada deben ser de tipo double.

Los tipos de atributo soportados como parámetros de entrada XPath (o XPaths almacenados en variables) son: entero, moneda, real, flotante

La función devuelve un error si la Base es muy grande y la Potencia es mayor a 0.

La función devuelve un error si la Base está entre 0 y 1 y la Potencia es muy grande o negativa.

La función devuelve un error si la Base no está entre 0 y 1 y la Potencia es muy grande.

La función devuelve un error si la Base es 0 y la Potencia es negativa.

La función devuelve un error si la Base o la Potencia no están definidas.

Use la función isNaN para validar si el parámetro usado es un número.

 

Ejemplo

En un Proceso de solicitud de crédito un cliente desea saber cuál sería el monto total que tendría que pagar por un préstamo personal, después de seis meses a una tasa de interés dada.  Esta cantidad se puede calcular utilizando la siguiente fórmula:

 

Math7

 

Donde Po es el monto solicitado, i es la tasa de interés mensual y P es la cantidad en el mes n.

 

Para efectuar este cálculo en Bizagi se puede utilizar la función Power. Esta función recibe dos parámetros: número y potencia.

El monto solicitado y la tasa de interés son conocidos, por lo que el monto final puede ser fácilmente calculado así:

 

Math1

 

//Obtenga los parámetros de la fórmula en variables

Po=<CreditRequest.RequestedAmount>

i=<CreditRequest.InterestRate>

//Use la fórmula para obtener el monto final

<CreditRequest.FinalAmount>=Po*CHelper.Math.Pow(1+i,6)

 

 

Quotient

Esta función devuelve la porción entera de una división.

 

CHelper.Math.Quotient(Dividend,Divisor)

 

Los parámetros de esta función pueden ser definidos como XPaths, variables o números.

 

Consideraciones

Los parámetros de entrada deben ser enteros.

El tipo de atributo soportado como parámetro de entrada XPath (o XPath almacenado en variables) es entero.

La función devuelve error si el Divisor es igual a 0.

Use la función isNaN para validar si el parámetro usado es un número.

 

Ejemplo

Una compañía usa Bizagi para gestionar sus procesos logísticos. Uno de ellos es la gestión de inventarios. En una de las actividades de este proceso es necesario calcular la capacidad de almacenamiento de cajas de un almacén. Para su cálculo, se introducen las dimensiones del almacén y las cajas.

 

Como el resultado de un cálculo normal devuelve un número fraccionario (que no tiene mucho sentido en este contexto porque no se puede almacenar una fracción de una caja), se puede utilizar la función Quotient para obtener sólo la parte entera del cociente.

 

La capacidad de almacenamiento del almacén puede ser calculado así:

 

Math22

 

//Obtenga el número de cajas que pueden ser almacenadas a lo ancho

WidthCapacity = CHelper.Math.Quotient(<InventoryManagement.Warehouse.Width>, <InventoryManagement.Boxes.Width>);

//Obtenga el número de cajas que pueden ser almacenadas a lo largo

LengthCapacity = CHelper.Math.Quotient(<InventoryManagement.Warehouse.Length>, <InventoryManagement.Boxes.Length>);

//Obtenga el número de cajas que pueden ser almacenadas a lo alto

HeightCapacity = CHelper.Math.Quotient(<InventoryManagement.Warehouse.Height>, <InventoryManagement.Boxes.Height>);

//Calcule el número total de cajas que pueden ser almacenados en la bodega

<InventoryManagement.Warehouse.Capacity> = WidthCapacity * LengthCapacity * HeightCapacity;

 

 

Rand(from,to)

Esta función devuelve un número aleatorio entero entre dos números.

 

CHelper.Math.Rand(ValueFrom,ValueTo)

 

Los parámetros de esta función pueden ser definidos como XPaths, variables o números.

 

Consideraciones

Los parámetros de entrada deben ser enteros.

El tipo de atributo soportado como parámetro de entrada XPath (o XPath almacenado en variables) es entero.

La función devuelve error si el parámetro ValueFrom es mayor al parámetro ValueTo.

Use la función isNaN para validar si el parámetro usado es un número.

 

Ejemplo

Una compañía usa Bizagi para rifar diferentes premios entre sus clientes. Cada cliente recibe un número entre 0 y 100. Bizagi debe generar un número aleatorio entre los números disponibles para obtener un ganador.

 

Para implementar esta lógica se puede utilizar la función Rand:

 

Math10

 

//Genere el número ganador

<RaffleProcees.WinnerNumber> = CHelper.Math.Rand(0,100)

 

 

 

Rand()

Esta función devuelve un decimal aleatorio entre 0.0 a 1.0, y no tiene parámetros.

 

CHelper.Math.Rand()

 

Ejemplo

Supongamos que usted necesita  generar un número aleatorio entre 10 y 20, con dos cifras decimales.

Usted tiene que usar dos funciones: una para generar un número aleatorio entre 10 y 20 y otra para generar el número de decimales. A continuación, puede añadir los dos resultados.

 

 

Math25

 

<Request.RandomNumber> = (CHelper.Math.Rand(10,20))+(CHelper.Math.Rand())

 

Round

Esta función reduce un número dado a un número específico de decimales.

 

CHelper.Math.Round(Number,Decimalplaces)

 

Los parámetros de esta función pueden ser definidos como XPaths, variables o números.

 

Consideraciones

El parámetro Number debe ser double.

El parámetro Decimalplaces debe ser entero.

 

Ejemplo

En un Proceso de reporte de gastos un empleado registra todos los gastos incurridos en un viaje de negocios. Como los gastos pueden ser ingresados en diferente a la local, se debe realizar una conversión. De acuerdo a la tasa de cambio, el monto convertido puede poseer varias cifras decimales que no son muy significativas. Para redondear este monto a uno con un número significante de cifras decimales (digamos 2) usted puede utilizar la función Round:

 

 

Math16

 

//Calcule los gastos en moneda local

ConvertedExpenses = <ExpensesReport.ReportedExpenses>*<ExpensesReport.ExpensesCurrency.ExchangeRate>;

//Redondee los gastos a un número significante de cifras decimales

<ExpensesReport.TotalExpenses> = CHelper.Math.Round(ConvertedExpenses,2);

 

 

Sqrt

Esta función obtiene la raíz cuadrada de un número.

 

CHelper.Math.Sqrt(Number)

 

El parámetro de esta función puede ser definido como un XPath, variable o número.

 

Consideraciones

El parámetro de entrada debe ser de tipo double.

Los tipos de atributo soportados como parámetro de entrada XPath (o XPaths almacenados en variables) son: entero, moneda, flotante, real.

La función devuelve error si evalúa un parámetro muy grande, no definido o vacío.

La función devuelve error si el parámetro es negativo.

Use la función isNaN para validar si el parámetro usado es un número.

 

Ejemplo

Una compañía usa Bizagi para gestionar sus procesos logísticos. Uno de ellos es la gestión de inventario. En una de las actividades de este proceso es necesario para calcular la cantidad económica de pedido de un producto. Esta cantidad se puede calcular mediante el uso de la fórmula siguiente:

 

Math17

 

Donde Q* es la cantidad óptima a ordenar, D es la demanda anual del producto, K es el costo fijo por orden y h es el costo anual de almacenamiento por unidad.

 

Esta cantidad se puede calcular en Bizagi usando la función Sqrt:

 

Math18

 

//Obtenga los parámetros de la fórmula en variables

D = <InventoryManagement.Demand>;

K = <InventoryManagement.OrderCost>;

h = <InventoryManagement.HoldingCost>;

//Calcule la cantidad económica de pedido

<InventoryManagement.EconomicQuantityOrder> = CHelper.Math.Sqrt(2*D*K / h);

 

 

Truncate

Esta función trunca un número a un entero removiendo su parte decimal o fraccional.

 

CHelper.Math.Truncate(Number)

 

Consideraciones

El parámetro de entrada debe ser de tipo double.

Los tipos de atributo soportados como parámetro de entrada XPath (o XPaths almacenados en variables) son: entero, moneda, flotante, real.

La función devuelve error si evalúa un parámetro muy grande, no definido o vacío.

Use la función isNaN para validar si el parámetro usado es un número.

 

Ejemplo

En un Proceso de solicitud de compra una estimación del precio de un producto se realiza con base en las tres últimas compras del mismo. Los valores de compra se promedian para obtener la estimación. Probablemente esta estimación tendrá una parte decimal. Con el fin de obtener un valor entero, se puede utilizar la función Truncate :

 

Math20

 

//Obtenga el precio estimado promediando los últimos tres precios de compra

EstimatedPrice = CHelper.Math.Average([<Product.Price1>,<Product.Price2>,<Product.Price3>]);

//Obtenga la parte entera del precio estimado

<Product.IntEstimatedPrice> = CHelper.Math.Truncate(EstimatedPrice);