Ajuda com relatório iReport

Pessoal, tenho um relatório de fluxo de caixa onde tempo um campo “tipo” do tipo inteiro (0=crédito,1=Débito), como faço para na impressão ao invez de sair 0 ou 1 sair “crédito” ou “débito”?

Eu tava fazendo isso agora há pouco…

$F{tipo} == 1 ? "Débito" : "Crédito"

Vlw cara :smiley:

Esta dando erro:

Incompatible operand types Integer and int

Muda a variavel tipo para String…

Não existe uma outra forma sem ter que alterar o tipo do campo no banco?

Bom dia,

Dentro do próprio IReport você pode converter os tipos de dados, veja o tipo no banco e compare na tela. Caso precise converter estou postando uns exemplos de conversão de inteiros para string e string para inteiro e o tipo de comparacao para fazer o que você precisa.

            String a = "teste";
	Integer b = 123;

	String c = String.valueOf(b); // convertendo inteiro para string
	Integer d = Integer.parseInt(a); // convertendo string para inteiro

	if (c.equals("teste")) {
		// comparando strings
	}

	if (d == 123) {
		// comparando inteiros
	}

Mesmo o campo do ireport sendo inteiro?

Pelo que entendi, pelo erro que mencionou, voce esta comparando tipos de dados diferentes, precisa converter para o mesmo tipo de dados para pode compara-los.

Oque ta estranho é que no banco estou usando um tipo inteiro, no ireport estou fazendo a comparação de um valor inteiro também, mesmo assim não ta rodando

Então assim deve funcionar

$F{tipo}.intVaule() == 1 ? "Débito" : "Crédito"  

Mesma coisa, só que agora diz que o campo não pode receber um valor string

nunca tive problemas com comparação de numeros mas

a saída desse campo não é int? acho que o problema está aí.

converta a saida dele pra string. e faça a comparação.

você pode usar

tipo.equals(1) ? "" : ""

nessa comparação

[quote=samirrolemberg]nunca tive problemas com comparação de numeros mas

a saída desse campo não é int? acho que o problema está aí.

converta a saida dele pra string. e faça a comparação.

você pode usar

tipo.equals(1) ? "" : ""

nessa comparação[/quote]

Vlw ae, me ajudou muito.