Olá pessoal,
Estou com o seguinte problema, preciso elevar um numero decimal a uma potencia. Estou usando método pow da classe BigDecimal, porem em alguns casos não consigo chegar a precisão desejada.
Por exemplo quando elevo 0.4321 a potencia 20, deveria resultar .00000005148554641…, mas o resultado que esta devolvendo é 5.14855464…
outro problema é quando por exemplo elevo 1.0100 a potencia 12, isso vai me resultar em um numero com varios zeros a direita, preciso formatar este numero e retirar os zeros a direita. Se alguem souber como faço essa formatação, vai ajudar muito.
Obs: a base nunca será maior que 99.999 e a potencia nunca será maior que 20.
Abaixo um esboço do código para ficar mais claro.
import java.math.BigDecimal;
import java.util.Scanner;
class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int exp;
try
{
while(sc.hasNext())
{
BigDecimal saida = new BigDecimal(sc.next());
exp = sc.nextInt();
saida = saida.pow(exp);
System.out.println(saida.toString());
}
}
catch(Exception ex) {};
}
}