Valores no iReport

11 respostas
flaviotomazio

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

11 Respostas

erico_kl

flaviotomazio:
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


fazendo downgrade pra versão 3.0.0 :smiley:

zoren

Qual o tipo de dado dos campos?

vc usa alguma formatação nesse campo??

flaviotomazio

zoren:
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

zoren

Se vc setar o tipo de dado correto nos campos, não funciona?

flaviotomazio

Eu setei os valores como double e float, mas os valores inteiros vem sempre com o “.0” agora, exemplo “12.0” ou “0.0”

TheKill

Pattern ###0

Att. Jonas

flaviotomazio

TheKill:
Pattern ###0

Att. Jonas

Aonde que coloco isso?

TheKill

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

TheKill

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

flaviotomazio

TheKill:
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

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

TheKill

flaviotomazio:
TheKill:
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

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ógicaEu sempre faço com BigDecimal e funfa de boaSe for (0) você manda new BigDecimal.ZERO;

Else setScale(2);

Entendeu?

e no relatório esperando um valor BigDecimal tmb

Criado 21 de janeiro de 2010
Ultima resposta 21 de jan. de 2010
Respostas 11
Participantes 4