Anterior Avançar

Classe BirtMath

A classe BirtMath fornece funções para manipular dados numéricos, por exemplo, adicionar, subtrair, multiplicar, dividir e arredondar números. Um número é um objeto genérico que pode ser lançado como outro tipo no campo Tipo de Dados do diálogo Editar Ligação de Dados. Essa classe é estática. O aplicativo não pode criar instâncias da classe.

BirtMath.add

Esta função retorna a soma de dois números.

Sintaxe

Number BirtMath.add( Number n1, Number n2 )

Parâmetros

n1

Objeto de número. O primeiro número a ser usado no cálculo.

n2

O segundo número a ser usado no cálculo.

Retornos

Objeto de número. O número resultante da adição de n1 e n2.

Exemplo

O exemplo a seguir retorna a soma de valores nos campos SalesTotal e Shipping:

BirtMath.add( row["SalesTotal"], row["Shipping"] )

BirtMath.ceiling

Esta função arredonda um número para cima, diferente de 0, para o múltiplo mais próximo especificado.

Sintaxe

Number BirtMath.ceiling( Number n, Number significance )

Parâmetros

n

Objeto de número. O número a ser arredondado para cima.

significance

Objeto de número. O múltiplo para o qual n será arredondado.

Retornos

Objeto de número. Um número resultante do arredondamento. Se n for um múltiplo exato de significância, não ocorrerá nenhum arredondamento.

Exemplos

BirtMath.ceiling( ) é comumente usado para arredondar preços. Por exemplo, para evitar lidar com centavos, é possível arredondar preços em um campo Price para acima até o níquel mais próximo com a seguinte expressão:

BirtMath.ceiling( row["Price"] , 0.05 )

Se o valor de Price for 20.52, a expressão retornará 20.55.

A expressão a seguir arredonda os preços para cima para a moeda de dez centavos mais próxima:

BirtMath.ceiling( row["Price"] , 0.1 )

Se o valor de Price for 20.52, a expressão retornará 20.60. Se o valor Price for 20.40, a expressão retornará 20.40. Não ocorre nenhum arredondamento, porque 20.40 é um múltiplo de 0.1.

A expressão a seguir arredonda os preços para cima até o valor em dólar mais próximo:

BirtMath.ceiling( row["Price"] , 1 )

Se o valor de Price for 20.30, a expressão retornará 21.

BirtMath.divide

Esta função retorna o resultado da divisão de um número por outro.

Sintaxe

Number BirtMath.divide( Number dividend, Number divisor )

Parâmetros

dividend

Objeto de número. O número a ser dividido.

divisor

Objeto de número. O número pelo qual o dividendo é dividido.

Retornos

Objeto de número. Um número resultante da divisão do dividendo pelo divisor.

Exemplos

O exemplo a seguir mostra os resultados da divisão de números específicos:

BirtMath.divide( 10, 2 ) // retorna 5
BirtMath.divide( 2, 10) // retorna 0.2

O exemplo a seguir retorna o resultado da divisão de valores no campo Total por valores no campo Quantity:

BirtMath.divide( row["Total"], row["Quantity"] )

BirtMath.mod

Esta função retorna o resto depois que um número é dividido por um divisor.

Sintaxe

Number BirtMath.mod( Number number, Number divisor )

Parâmetros

número

Objeto de número. O número a ser dividido.

divisor

Objeto de número. O número pelo qual o primeiro número é dividido. Você deve especificar um número diferente de zero.

Retornos

O resto após o número é dividido pelo divisor.

Exemplos

O exemplo a seguir mostra os resultados retornados pela função para números específicos:

BirtMath.mod( 10, 3 ) // retorna 1
BirtMath.mod( 10, 5 ) // retorna 0
BirtMath.mod( 10, 6 ) // retorna 4

O exemplo a seguir verifica se os números no campo Grade são pares ou ímpares. Quando o divisor é 2, a função retorna 0 para números pares e 1 para números ímpares.

BirtMath.mod( row["Grade"], 2 )

BirtMath.multiply

Esta função retorna a multiplicação de dois números.

Sintaxe

Number BirtMath.multiply( Number n1, Number n2 )

Parâmetros

n1

Objeto de número. O primeiro número a ser usado no cálculo.

n2

Objeto de número. O segundo número a ser usado no cálculo.

Retornos

Objeto de número. Um número resultante da multiplicação de n1 e n2.

Exemplo

O exemplo a seguir retorna o resultado da multiplicação de valores nos campos QuantityOrdered e PriceEach:

BirtMath.multiply( row["QuantityOrdered"], row["PriceEach"] )

BirtMath.round

Esta função arredonda um número para um número especificado de dígitos.

Sintaxe

Number BirtMath.round( Number number, Number dec )

Parâmetros

número

Objeto de número. O número a ser arredondado.

dec

Objeto de número. O número de dígitos para o qual o número será arredondado. Se você omitir este argumento, a função considerará 0.

Retornos

Objeto de número. Um número arredondado para um número especificado de dígitos.

Exemplos

O exemplo a seguir mostra os resultados retornados pela função para números específicos:

BirtMath.round( 1545.50 ) // retorna 1546
BirtMath.round( 1545.56, 1 ) // retorna 1545.6
BirtMath.round( 1545.23, 1 ) // retorna 1545.2
BirtMath.round( 1545.50, -1 ) // retorna 1550

O exemplo a seguir arredonda os valores no campo PriceEstimate para retornar um número inteiro:

BirtMath.round( row["PriceEstimate"], 0 )

BirtMath.roundDown

Esta função arredonda um número para baixo até um número especificado de dígitos.

Sintaxe

Number BirtMath.roundDown( Number number, Number dec )

Parâmetros

número

Objeto de número. O número a ser arredondado.

dec

Objeto de número. O número de dígitos para o qual o número será arredondado para baixo. Se você omitir este argumento, a função considerará 0.

Retornos

Objeto de número. Um número arredondado para baixo para um número especificado de dígitos.

Exemplos

O exemplo a seguir mostra os resultados retornados pela função para números específicos:

BirtMath.roundDown( 1545.50 ) // retorna 1545
BirtMath.roundDown( 1545.56, 1 ) // retorna 1545.5
BirtMath.roundDown( 1545.23, 1 ) // retorna 1545.2
BirtMath.roundDown( 1545.50, -1 ) // retorna 1540

O exemplo a seguir arredonda para baixo os valores no campo PriceEstimate para retornar um número inteiro:

BirtMath.roundDown( row["PriceEstimate"], 0 )

BirtMath.roundUp

Esta função arredonda um número para cima até um número especificado de dígitos.

Sintaxe

Number BirtMath.roundUp( Number number, Number dec )

Parâmetros

número

Objeto de número. O número a ser arredondado para cima.

dec

Objeto de número. O número de dígitos para o qual o número será arredondado para cima. Se você omitir este argumento, a função considerará 0.

Retornos

Objeto de número. Um número arredondado para cima para um número especificado de dígitos.

Exemplos

O exemplo a seguir mostra os resultados retornados pela função para números específicos:

BirtMath.roundUp( 1545.50 ) // retorna 1546
BirtMath.roundUp( 1545.56, 1 ) // retorna 1545.6
BirtMath.roundUp( 1545.23, 1 ) // retorna 1545.3
BirtMath.roundUp( 1545.50, -1 ) // retorna 1550

O exemplo a seguir arredonda para cima os valores no campo PriceEstimate para retornar um número inteiro:

BirtMath.roundUp( row["PriceEstimate"], 0 )

BirtMath.safeDivide

Esta função retorna o resultado da divisão de um número por outro, evitando uma condição de divisão por zero.

Sintaxe

Number BirtMath.safeDivide( Number dividend, Number divisor, object ifZero )

Parâmetros

dividend

Objeto de número. O número a ser dividido.

divisor

Objeto de número. O número pelo qual o dividendo é dividido.

ifZero

Objeto. O valor a ser retornado quando o divisor for zero.

Retornos

Objeto de número. Objeto de número. Um número resultante da divisão do dividendo pelo divisor.

Exemplos

O exemplo a seguir mostra os resultados retornados pela função para números específicos:

BirtMath.safeDivide( 10, 2, 0 ) // retorna 5
BirtMath.safeDivide( 10, 0, 0 ) // retorna 0

O exemplo a seguir retorna o resultado da divisão de valores no campo Revenue por valores no campo Volume. Se o valor Volume for 0, a função retornará 0.

BirtMath.safeDivide( row["Revenue"], row["Volume"], 0 )

BirtMath.subtract

Esta função retorna o resultado da subtração de um número do outro.

Sintaxe

Number BirtMath.subtract( Number n1, Number n2 )

Parâmetros

n1

Objeto de número. O número do qual subtrair.

n2

Objeto de número. O número a ser subtraído de n1.

Retornos

Objeto de número. Um número resultante da subtração n2 de n1.

Exemplo

O exemplo a seguir mostra os resultados da subtração de números específicos:

BirtMath.subtract( 12, 4 ) // retorna 8
BirtMath.subtract( 4, 12) // retorna -8

O exemplo a seguir retorna o resultado da subtração de valores no campo Discount de valores no campo Total:

BirtMath.subtract( row["Total"], row["Discount"] )

(c) Copyright Actuate Corporation 2013