Class Amount
- All Implemented Interfaces:
Serializable
,Comparable<Amount>
amount
da mesma maneira que o Vision.
Em linhas gerais, todas as variáveis Amount
são arredondadas na segunda casa decimal usando o modo
HALF_UP
, e todas as operações aritméticas que
envolvem Amount
resultam em Amount
.
Nas operações aritméticas que envolvem variáveis Amount
,
é preciso converter todas essas variáveis para double
com o método val()
. O resultado calculado deve necessariamente
ser convertido para Amount
com Amount.toAmount
.
Este resultado pode ser atribuído à variável do resultado se ela for Amount
,
ou então convertido para o tipo da variável usando val()
(se for double
) ou intValue()
(se for int
).
Cada objeto Amount
armazena internamente
um BigDecimal
com essas características.
Da mesma forma como um objeto BigDecimal
é
imutável, um Amount
é imutável.
Propositalmente, não há operações matemáticas públicas que envolvam
objetos BigDecimal
. Isto obriga ao uso de Amount
.
A classe também fornece métodos estáticos para a conversão de tipos de dados, facilitando a migração automática do código Vision para o código Java.
Cabe lembrar que as operações aritméticas que não envolvem variáveis tipo
amount
funcionam no Java da mesma maneira que no Vision.
O uso de argumentos nulos não é previsto, e deve gerar
NullPointerException
.
- See Also:
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionadd
(int integer) int
compareTo
(int integer) int
int
compareTo
(BigDecimal bigDecimal) static Amount
desc
(double total, double porcentagem) Calcula o valor resultante do desconto de um total a partir da porcentagem informada.static Amount
Calcula o valor resultante do desconto de um total a partir da porcentagem informada.static Amount
Calcula o valor resultante do desconto de um total a partir da porcentagem informada.static Amount
Calcula o valor resultante do desconto de um total a partir da porcentagem informada.static double
descDouble
(double total, double porcentagem) Calcula o desconto sem arredondar, e retorna o valor double resultante.static double
descDouble
(double total, Amount porcentagem) Calcula o desconto sem arredondar, e retorna o valor double resultante.static double
descDouble
(Amount total, double porcentagem) Calcula o desconto sem arredondar, e retorna o valor double resultante.static double
descDouble
(Amount total, Amount porcentagem) Calcula o desconto sem arredondar, e retorna o valor double resultante.double
Retorna o valordouble
desteAmount
.boolean
Verifica se os BigDecimais internos são iguais.float
int
hashCode()
Retorna o hash code doBigDecimal
interno.int
intValue()
Retorna o valorint
desteAmount
.long
static Amount
multiply
(double val1, double val2) Calcula a multiplição de dois números e retorna o valor arredondado paraAmount
.static Amount
Calcula a multiplição de dois números e retorna o valor arredondado paraAmount
.static Amount
Calcula a multiplição de dois números e retorna o valor arredondado paraAmount
.static Amount
Calcula a multiplição de dois números e retorna o valor arredondado paraAmount
.static Amount
multiply
(BigDecimal val1, BigDecimal val2) Calcula a multiplição de dois números e retorna o valor arredondado paraAmount
.negate()
Conveniência para inverter um amount (multiplicar por -1).static Amount
perc
(double total, double porcentagem) Calcula o valor percentual de um total a partir da porcentagem informada.static Amount
Calcula o valor percentual de um total a partir da porcentagem informada.static Amount
Calcula o valor percentual de um total a partir da porcentagem informada.static Amount
Calcula o valor percentual de um total a partir da porcentagem informada.int
signum()
Facilita as comparações com zero.sub
(int integer) static Amount
toAmount
(double dbl) Substituito_amount$
do Vision.static Amount
toAmount
(int integer) Substituito_amount$
do Vision.static Amount
Substituito_amount$
do Vision.static Amount
toAmount
(BigDecimal bigDecimal) Substituito_amount$
do Vision.Retorna o valorBigDecimal
desteAmount
.static double
toDouble
(double dbl) Substituito_float$
do Vision.static double
toDouble
(int integer) Substituito_float$
do Vision.static double
Substituito_float$
do Vision.static double
toDouble
(BigDecimal bigDecimal) Substituito_float$
do Vision.static int
toInt
(double dbl) Substituito_numeric$
do Vision.static int
toInt
(int integer) Substituito_numeric$
do Vision.static int
Substituito_numeric$
do Vision.static int
toInt
(BigDecimal bigDecimal) Substituito_numeric$
do Vision.static int
TransformaTime
para minutos.toString()
Formata para impressão em relatórios.double
val()
Atalho paradoubleValue()
.Methods inherited from class java.lang.Number
byteValue, shortValue
-
Field Details
-
ZERO
-
ONE
-
TWO
-
TEN
-
HUNDRED
-
THOUSAND
-
-
Method Details
-
add
-
add
-
sub
-
sub
-
toBigDecimal
Retorna o valorBigDecimal
desteAmount
.Não deve ser usado em meio a cálculos no NXJ. Deve ser usado em outras operações quando o que importa é aplicar o resultado obtido, como no retorno de funções ou ao passar um parâmetro para comandos SQL (
setBigDecimal
).- Returns:
- o valor
BigDecimal
-
intValue
public int intValue()Retorna o valorint
desteAmount
.Deve ser usado quando o resultado é atribuído a uma variável
int
ou quando umAmount
é convertido paraint
em meio a um cálculo. -
doubleValue
public double doubleValue()Retorna o valordouble
desteAmount
.Deve ser usado quando o resultado é atribuído a uma variável
double
ou quando umAmount
é convertido paradouble
em meio a um cálculo.- Specified by:
doubleValue
in classNumber
-
longValue
public long longValue() -
floatValue
public float floatValue()- Specified by:
floatValue
in classNumber
-
val
public double val()Atalho paradoubleValue()
.- Returns:
- o valor
double
-
toDouble
Substituito_float$
do Vision.- Parameters:
bigDecimal
- o valor a ler- Returns:
- o valor
double
-
toDouble
Substituito_float$
do Vision.- Parameters:
amount
- o valor a ler- Returns:
- o valor
double
-
toDouble
public static double toDouble(int integer) Substituito_float$
do Vision.- Parameters:
integer
- o valor a ler- Returns:
- o valor
double
-
toDouble
public static double toDouble(double dbl) Substituito_float$
do Vision.- Parameters:
dbl
- o valor a ler- Returns:
- o valor
double
-
toInt
Substituito_numeric$
do Vision.- Parameters:
bigDecimal
- o valor a ler- Returns:
- o valor
int
-
toInt
Substituito_numeric$
do Vision.- Parameters:
amount
- o valor a ler- Returns:
- o valor
int
-
toInt
public static int toInt(int integer) Substituito_numeric$
do Vision.- Parameters:
integer
- o valor a ler- Returns:
- o valor
int
-
toInt
public static int toInt(double dbl) Substituito_numeric$
do Vision.- Parameters:
dbl
- o valor a ler- Returns:
- o valor
int
-
toInt
TransformaTime
para minutos.- Parameters:
time
- um horário do dia- Returns:
- os minutos do dia contidos nesse horário
-
toAmount
Substituito_amount$
do Vision. Força o uso de duas casas decimais.- Parameters:
bigDecimal
- o valor a ler- Returns:
- o valor
Amount
-
toAmount
Substituito_amount$
do Vision. Força o uso de duas casas decimais.- Parameters:
amount
- o valor a ler- Returns:
- o valor
Amount
-
toAmount
Substituito_amount$
do Vision. Força o uso de duas casas decimais.- Parameters:
integer
- o valor a ler- Returns:
- o valor
Amount
-
toAmount
Substituito_amount$
do Vision. Força o uso de duas casas decimais.- Parameters:
dbl
- o valor a ler- Returns:
- o valor
Amount
-
compareTo
-
compareTo
- Specified by:
compareTo
in interfaceComparable<Amount>
-
compareTo
public int compareTo(int integer) -
signum
public int signum()Facilita as comparações com zero.- Returns:
- -1, 0 ou 1 se for menor, igual ou maior que zero
-
negate
Conveniência para inverter um amount (multiplicar por -1).- Returns:
- o inverso deste amount, da mesma maneira que
BigDecimal.negate()
.
-
perc
Calcula o valor percentual de um total a partir da porcentagem informada.- Parameters:
total
- o totalporcentagem
- a porcentagem- Returns:
- o valor percentual
-
desc
Calcula o valor resultante do desconto de um total a partir da porcentagem informada. Para isso, calcula primeiro o desconto com essa porcentagem, arredonda-o convenientemente, e então subtrai-o do total.- Parameters:
total
- o totalporcentagem
- a porcentagem- Returns:
- o valor total menos o desconto
-
descDouble
public static double descDouble(double total, double porcentagem) Calcula o desconto sem arredondar, e retorna o valor double resultante. Usa internamenteBigDecimal
para contornar eventuais problemas de arredondamento que ocorrem no uso exclusivo de double.- Parameters:
total
- o valor totalporcentagem
- a porcentagem a descontar- Returns:
- o valor resultante após o desconto, sem arredondar, em
double
-
perc
Calcula o valor percentual de um total a partir da porcentagem informada.- Parameters:
total
- o totalporcentagem
- a porcentagem- Returns:
- o valor percentual
-
perc
Calcula o valor percentual de um total a partir da porcentagem informada.- Parameters:
total
- o totalporcentagem
- a porcentagem- Returns:
- o valor percentual
-
perc
Calcula o valor percentual de um total a partir da porcentagem informada.- Parameters:
total
- o totalporcentagem
- a porcentagem- Returns:
- o valor percentual
-
desc
Calcula o valor resultante do desconto de um total a partir da porcentagem informada. Para isso, calcula primeiro o desconto com essa porcentagem, arredonda-o convenientemente, e então subtrai-o do total.- Parameters:
total
- o totalporcentagem
- a porcentagem- Returns:
- o valor total menos o desconto
-
desc
Calcula o valor resultante do desconto de um total a partir da porcentagem informada. Para isso, calcula primeiro o desconto com essa porcentagem, arredonda-o convenientemente, e então subtrai-o do total.- Parameters:
total
- o totalporcentagem
- a porcentagem- Returns:
- o valor total menos o desconto
-
desc
Calcula o valor resultante do desconto de um total a partir da porcentagem informada. Para isso, calcula primeiro o desconto com essa porcentagem, arredonda-o convenientemente, e então subtrai-o do total.- Parameters:
total
- o totalporcentagem
- a porcentagem- Returns:
- o valor total menos o desconto
-
descDouble
Calcula o desconto sem arredondar, e retorna o valor double resultante. Usa internamenteBigDecimal
para contornar eventuais problemas de arredondamento que ocorrem no uso exclusivo de double.- Parameters:
total
- o valor totalporcentagem
- a porcentagem a descontar- Returns:
- o valor resultante após o desconto, sem arredondar, em
double
-
descDouble
Calcula o desconto sem arredondar, e retorna o valor double resultante. Usa internamenteBigDecimal
para contornar eventuais problemas de arredondamento que ocorrem no uso exclusivo de double.- Parameters:
total
- o valor totalporcentagem
- a porcentagem a descontar- Returns:
- o valor resultante após o desconto, sem arredondar, em
double
-
descDouble
Calcula o desconto sem arredondar, e retorna o valor double resultante. Usa internamenteBigDecimal
para contornar eventuais problemas de arredondamento que ocorrem no uso exclusivo de double.- Parameters:
total
- o valor totalporcentagem
- a porcentagem a descontar- Returns:
- o valor resultante após o desconto, sem arredondar, em
double
-
multiply
Calcula a multiplição de dois números e retorna o valor arredondado paraAmount
. Usa internamenteBigDecimal
para contornar eventuais problemas de arredondamento que ocorrem no uso exclusivo de double.- Parameters:
val1
-val2
-- Returns:
- o produto arredondado como
Amount
-
multiply
Calcula a multiplição de dois números e retorna o valor arredondado paraAmount
. Usa internamenteBigDecimal
para contornar eventuais problemas de arredondamento que ocorrem no uso exclusivo de double.- Parameters:
val1
-val2
-- Returns:
- o produto arredondado como
Amount
-
multiply
Calcula a multiplição de dois números e retorna o valor arredondado paraAmount
. Usa internamenteBigDecimal
para contornar eventuais problemas de arredondamento que ocorrem no uso exclusivo de double.- Parameters:
val1
-val2
-- Returns:
- o produto arredondado como
Amount
-
multiply
Calcula a multiplição de dois números e retorna o valor arredondado paraAmount
. Usa internamenteBigDecimal
para contornar eventuais problemas de arredondamento que ocorrem no uso exclusivo de double.- Parameters:
val1
-val2
-- Returns:
- o produto arredondado como
Amount
-
multiply
Calcula a multiplição de dois números e retorna o valor arredondado paraAmount
. Usa internamenteBigDecimal
para contornar eventuais problemas de arredondamento que ocorrem no uso exclusivo de double.- Parameters:
val1
-val2
-- Returns:
- o produto arredondado como
Amount
-
hashCode
public int hashCode()Retorna o hash code doBigDecimal
interno. -
equals
Verifica se os BigDecimais internos são iguais. -
toString
Formata para impressão em relatórios.
-