Pessoal estou com uma duvida quem puder me ajudar.
quero fazer uma condição de TIPOTAXA FOR DIFERENTE DE 3 FAÇA QUANTIDADE+EXCESSO)*CONT_VLDESTFIM
ELSE
(COMPRETIRADAPES * CONT_VLDESTFIM)/1000
no ireport estou fazendo assim
($F{TIPOTAXA}!=“3” ?
($F{QUANTIDADE}+$F{EXCESSO})*$F{CONT_VLDESTFIM}
:
($F{COMPRETIRADAPES} * $F{CONT_VLDESTFIM})/1000 )
Boa tarde!
Primeiro alguns esclarecimentos sobre as operações numericas no ireport:
- Seus campos são de que tipo?
- esse campo TIPOTAXA é Integer, String, BigDecimal ?
Caso sejam campos BigDecimal, use as expressões da classe para fazer suas operações:
Soma:
- $F{field1}.add({field2})
Subtração
$F{field1}.subtract({field2})
Divisão:
($F{field1}.divide({field2}), int) // o int é o arredondamento
Multiplicação:
$F{field1}.multiply({field2})
Supondo que seu Parâmetro TIPOTAXA seja numérico ou BigDecimal, utilize as sintaxes da forma que te passei, sua lógica do if parece estar correta.
Caso o TIPOTAXA seja uma string, então utilize o metodo .equals() da classe String para fazer a comparação.
Att.
Obrigado amigo, mas não consegui coloquei essa regra na query do sql.
Você pode me ajudar nessa condição
estou querendo imprimir valor KILO quando TIPOTAXA for igual a 5
estou fazendo assim ($F{TIPOTAXA}.equals(“5”) ? “KILO” : “” )
está aparecendo tudo em branco, mas é certeza que o valor é 5
Obrigado.