Estou enfrentando um problema no iReport 3.7.0 ultimamente, são eles:
- Valores “0” que são retornados ficam “null”
- Valores float, exemplo “0,123” fica “,123”
Como posso corrigir isso?
Ps.: A fonte de dados é um XML
Estou enfrentando um problema no iReport 3.7.0 ultimamente, são eles:
Como posso corrigir isso?
Ps.: A fonte de dados é um XML
Estou enfrentando um problema no iReport 3.7.0 ultimamente, são eles:
- Valores “0” que são retornados ficam “null”
- Valores float, exemplo “0,123” fica “,123”
Como posso corrigir isso?
Ps.: A fonte de dados é um XML

Qual o tipo de dado dos campos?
vc usa alguma formatação nesse campo??
Qual o tipo de dado dos campos?vc usa alguma formatação nesse campo??
Sem formatação. O Tipo no XML é CDATA, no iReport é String
Se vc setar o tipo de dado correto nos campos, não funciona?
Eu setei os valores como double e float, mas os valores inteiros vem sempre com o “.0” agora, exemplo “12.0” ou “0.0”
Pattern ###0
Att. Jonas
Pattern ###0Att. Jonas
Aonde que coloco isso?
deu uma olhada no relatório?
tem uma opcao lá chamada Pattern
Mas se vc deseja realmente ter uma escala 2 (R$2,00)
tem de repensar uma outra forma, pois não tem como definir que vai ser (,00) e querer que seja impresso (0).
Se você quiser numero inteiro então altere para Integer
att. Jonas
o que eu acho que da para ser feito
é trabalhar com valores BigDecimal
e ai antes de enviar para o relatório verifica se o valor é 0
se for 0 vc envia para o relatorio new BigDecimal.ZERO
e se nao for 0 vc seta a escala para 2 e envia para o relatório.
Att. Jonas
o que eu acho que da para ser feitoé trabalhar com valores BigDecimal
e ai antes de enviar para o relatório verifica se o valor é 0
se for 0 vc envia para o relatorionew BigDecimal.ZERO
e se nao for 0 vc seta a escala para 2 e envia para o relatório.Att. Jonas
Estavamos fazendo isso, só que aí os valores 0,4 ficavam ,4, e com o pattern o 0.4 fica apenas 0 e 11 vira 11,00
o que eu acho que da para ser feitoé trabalhar com valores BigDecimal
e ai antes de enviar para o relatório verifica se o valor é 0
se for 0 vc envia para o relatorionew BigDecimal.ZERO
e se nao for 0 vc seta a escala para 2 e envia para o relatório.Att. Jonas
Estavamos fazendo isso, só que aí os valores 0,4 ficavam ,4, e com o pattern o 0.4 fica apenas 0 e 11 vira 11,00
Então deve estar algo errado em sua lógica…
Eu sempre faço com BigDecimal e funfa de boa…
Se for (0) você manda new BigDecimal.ZERO;
Else… setScale(2);
Entendeu?
e no relatório esperando um valor BigDecimal tmb