Anterior Seguinte

Classe BirtMath

A classe BirtMath faculta funções para manipular dados numéricos como, por exemplo, adicionar, subtrair, multiplicar, dividir e arredondar números. Um número é um objecto genérico que pode ser convertido em outro tipo no campo Tipo de dados da caixa de diálogo Editar associação de dados. Esta classe é estática. A aplicação não pode criar ocorrências da classe.

BirtMath.add

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

Sintaxe

Number BirtMath.add( Number n1, Number n2 )

Parâmetros

n1

Objecto Number. O primeiro número a utilizar no cálculo.

n2

O segundo número a utilizar no cálculo.

Devoluções

Objecto Number. O número resultante da adição de n1 a n2.

Exemplo

O exemplo seguinte devolve a soma de valores nos campos SalesTotal (Total de vendas) e Shipping (Transporte):

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

BirtMath.ceiling

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

Sintaxe

Number BirtMath.ceiling( Number n, Number significance )

Parâmetros

n

Objecto Number. O número a arredondar.

significance

Objecto Number. O múltiplo para o qual arredondar n.

Devoluções

Objecto Number. Um número resultante do arredondamento. Se n for um múltiplo exacto de significance, não ocorre qualquer arredondamento.

Exemplos

BirtMath.ceiling( ) normalmente é utilizado para arredondar preços. Por exemplo, para evitar ter de contabilizar cêntimos, num campo Price (Preço) pode arredondar para cima os preços com a seguinte expressão:

BirtMath.ceiling( row["Price"] , 0,05 )

Caso o valor Price (Preço) seja 20,52, a expressão devolve 20,55.

A expressão seguinte arredonda preços para cima até ao valor certo mais próximo:

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

Caso o valor Price (Preço) seja 20,52, a expressão devolve 20,60. Caso o valor Price (Preço) seja 20,40, a expressão devolve 20,40. Não ocorre qualquer arredondamento porque 20,40 é um múltiplo de 0,1.

A seguinte expressão arredonda preços para cima, para o euro mais próximo:

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

Caso o valor Price (Preço) seja 20,30, a expressão devolve 21.

BirtMath.divide

Esta função devolve o resultado da divisão de um número.

Sintaxe

Number BirtMath.divide( Number dividend, Number divisor )

Parâmetros

dividend

Objecto Number. O número a ser dividido.

divisor

Objecto Number. O número pelo qual o dividendo é dividido.

Devoluções

Objecto Number. Um número resultante da divisão do dividendo pelo divisor.

Exemplos

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

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

O exemplo seguinte devolve o resultado da divisão de valores no campo Total por valores no campo Quantity (Quantidade):

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

BirtMath.mod

Esta função devolve o resto após um número ser dividido por um divisor.

Sintaxe

Number BirtMath.mod( Number number, Number divisor )

Parâmetros

number

Objecto Number. O número a ser dividido.

divisor

Objecto Number. O número pelo qual o primeiro número é dividido. Tem de especificar um número que não seja zero.

Devoluções

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

Exemplos

Os seguintes exemplos mostram os resultados devolvidos pela função para números específicos:

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

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

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

BirtMath.multiply

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

Sintaxe

Number BirtMath.multiply( Number n1, Number n2 )

Parâmetros

n1

Objecto Number. O primeiro número a utilizar no cálculo.

n2

Objecto Number. O segundo número a utilizar no cálculo.

Devoluções

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

Exemplo

O exemplo seguinte devolve o resultado da multiplicação de valores nos campos QuantityOrdered (Quantidade encomendada) e PriceEach (Preço individual):

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

number

Objecto Number. O número a arredondar.

dec

Objecto Number. O número de dígitos para o qual arredondar o número. Caso omita este argumento, a função assume 0.

Devoluções

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

Exemplos

Os seguintes exemplos mostram os resultados devolvidos pela função para números específicos:

BirtMath.round( 1545.50 ) // devolve 1546
BirtMath.round( 1545.56, 1 ) // devolve 1545.6
BirtMath.round( 1545.23, 1 ) // devolve1545.2
BirtMath.round( 1545.50, -1 ) // devolve 1550

O exemplo seguinte arredonda os valores no campo PriceEstimate (Estimativa de preço) para devolver um número inteiro:

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

BirtMath.roundDown

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

Sintaxe

Number BirtMath.roundDown( Number number, Number dec )

Parâmetros

number

Objecto Number. O número a arredondar.

dec

Objecto Number. O número de dígitos para o qual arredondar o número para baixo. Caso omita este argumento, a função assume 0.

Devoluções

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

Exemplos

Os seguintes exemplos mostram os resultados devolvidos pela função para números específicos:

BirtMath.roundDown( 1545.50 ) // devolve 1545
BirtMath.roundDown( 1545.56, 1 ) // devolve 1545.5
BirtMath.roundDown( 1545.23, 1 ) // devolve1545.2
BirtMath.roundDown( 1545.50, -1 ) // devolve1540

O exemplo seguinte arredonda para baixo os valores no campo PriceEstimate (Estimativa de preço) para devolver um número inteiro:

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

BirtMath.roundUp

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

Sintaxe

Number BirtMath.roundUp( Number number, Number dec )

Parâmetros

number

Objecto Number. O número a arredondar.

dec

Objecto Number. O número de dígitos para o qual arredondar o número para cima. Caso omita este argumento, a função assume 0.

Devoluções

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

Exemplos

Os seguintes exemplos mostram os resultados devolvidos pela função para números específicos:

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

O exemplo seguinte arredonda para cima os valores no campo PriceEstimate (Estimativa de preço) para devolver um número inteiro:

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

BirtMath.safeDivide

Esta função devolve o resultado da divisão de um número, impedindo uma condição de divisão por zero.

Sintaxe

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

Parâmetros

dividend

Objecto Number. O número a ser dividido.

divisor

Objecto Number. O número pelo qual o dividendo é dividido.

ifZero

Object. O valor a devolver quando o divisor é zero.

Devoluções

Objecto Number. Objecto Number. Um número resultante da divisão do dividendo pelo divisor.

Exemplos

O seguinte exemplo mostra os resultados devolvidos pela função para números específicos:

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

O exemplo seguinte devolve o resultado da divisão de valores no campo Revenue (Receita) por valores no campo Volume. Caso o valor Volume seja 0, a função devolve 0.

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

BirtMath.subtract

Esta função devolve o resultado da subtracção de um número.

Sintaxe

Number BirtMath.subtract( Number n1, Number n2 )

Parâmetros

n1

Objecto Number. O número do qual subtrair.

n2

Objecto Number. O número a subtrair de n1.

Devoluções

Objecto Number. Um número resultante da subtracção de n2 de n1.

Exemplo

O exemplo seguinte mostra os resultados da subtracção de números específicos:

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

O exemplo seguinte devolve o resultado da subtracção de valores no campo Discount (Desconto) a valores no campo Total:

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

(c) Copyright Actuate Corporation 2013