Número elevado no iReport

Olá, como eu posso fazer para elevar um número a outro no iReport de forma dinâmica.
Eu recupero do bd alguns dados e quando recuperar o texto 35 preciso que o 3 fique elevado a 5.

Será que existe alguma expressão que eu possa fazer?

Obrigadaooo

[quote=nih13]Olá, como eu posso fazer para elevar um número a outro no iReport de forma dinâmica.
Eu recupero do bd alguns dados e quando recuperar o texto 35 preciso que o 3 fique elevado a 5.

Será que existe alguma expressão que eu possa fazer?

Obrigadaooo[/quote]
Faça isso no código que chama o relatório, não no relatório.

[quote=drsmachado][quote=nih13]Olá, como eu posso fazer para elevar um número a outro no iReport de forma dinâmica.
Eu recupero do bd alguns dados e quando recuperar o texto 35 preciso que o 3 fique elevado a 5.

Será que existe alguma expressão que eu possa fazer?

Obrigadaooo[/quote]
Faça isso no código que chama o relatório, não no relatório.
[/quote]

Não dá. Eu tenho uma consulta no subreport que me retorna os dados. E tem a coluna de uma tabela que contém esse padrão. Aí o que eu penso é fazer um replace e deixar o número 5 elevado. Obs: o número elevado pode ser diferente a cada dado.

[quote=nih13][quote=drsmachado][quote=nih13]Olá, como eu posso fazer para elevar um número a outro no iReport de forma dinâmica.
Eu recupero do bd alguns dados e quando recuperar o texto 35 preciso que o 3 fique elevado a 5.

Será que existe alguma expressão que eu possa fazer?

Obrigadaooo[/quote]
Faça isso no código que chama o relatório, não no relatório.
[/quote]

Não dá. Eu tenho uma consulta no subreport que me retorna os dados. E tem a coluna de uma tabela que contém esse padrão. Aí o que eu penso é fazer um replace e deixar o número 5 elevado. Obs: o número elevado pode ser diferente a cada dado.[/quote]
Por isso eu considero esta abordagem uma péssima forma de se criar relatórios.
Primeiro, por que você terá que, invariavelmente, incluir lógicas que não deveriam fazer parte da apresentação (caso esteja usando modelo de desenvolvimento em camadas, isso deveria ser feito na camada de controle).
Segundo que você fica preso apenas a recursos da ferramenta e do banco de dados em uso, tornando o desenvolvimento mais complexo e dificultando uma eventual troca de tecnologia (por exemplo, se precisar trocar o banco de dados, terá que, no mínimo, adequar a query de consulta).
Terceiro, você acaba complicando algo que seria muito simples no java (Math.pow(x, y), onde x seria o número a ser elevado e y o fator de potenciação).
Outro detalhe, o resultado de alguns cálculos de potenciação pode ser extremamente grande (100¹°° = número muito grande).
Das opções, pesquise sobre expressões no iReport, talvez ajudem (mesmo que você precise fazer um for ou algo assim, ainda conseguirá apresentar o cálculo de potenciação) e, talvez menos pior, colocar o SQL para realizar este cálculo (também caímos no quesito de desempenho e disponibilidade para execução do que se necessita)

Então, tudo bem, concordo que não é a melhor maneira de fazer isso. Entretanto, estou tentando resolver esse problem agora, depois eu modifico estruturalmente isso pq vai levar um tempo.
Quanto ao número elevado, eu não posso fazer o cálculo, eu preciso mostrar exatamente 5 elevado a 100.

Grata

Você quis dizer algo como: 2³, 1², 3¹?
Se for, você consegue sobrepor elementos text, contendo o número que é a base e o expoente, alterando o tamanho da fonte.
Dará um pouco de trabalho, mas creio ser a solução mais adequada.

Você quis dizer algo como: 2³, 1², 3¹?
[/quote]

Exatamente isso!

Eu faria o seguinte, pegaria um elemento text, com o parâmetro ou field relativo ao número que quero como base e o definiria com fonte normal. O outro eu posicionaria exatamente ao lado deste e colocaria sua fonte como 8 ou, se necessário 6.
Claro, provavelmente precisaria de ajustes para adequar a quantidade de dígitos da base (penso que o número que será usado como base possa variar de 1 até 20 dígitos, por exemplo: 1² ou 123345456567657³)…