Como converter uma String para BigDecimal (RESOLVIDO)

Usando a classe JOptionPane estou solicitando ao usuário para inserir um valor, essa variável é do tipo String(inputSaldo), porém para ter valores mais exatos e fazer calculos financeiros quero converter esse valor para BigDecimal, já tentei valueof, ToString. Se essa operação não for possível gostaria de saber um modo de inserir o dado atravéz de interface gráfica diretamente como BigDecimal.

Obs: quando eu fazia utilizando double, Integer e etc, eu utilizava o comando Integer.Parseint();

inputSaldo = JOptionPane.showInputDialog(null, “Favor inserir o valor a ser depositado”);

Obrigado!

http://www.guj.com.br/posts/list/100804.java

[code]import java.math.BigInteger;

public class StringBigInteger {

public static void main(String[] args) {

	String inteirao = "1000000000000000000";

	BigInteger bigInteger = new BigInteger(inteirao);

	System.out.println(bigInteger);
}

}[/code]

Abs!
Danilo

import java.math.BigDecimal;
import javax.swing.JOptionPane;

public class Principal {

public static void main(String[] args) {

	int meses,count=1;
	String inputJuros, inputSaldo, inputMeses;
	
	inputSaldo = JOptionPane.showInputDialog(null, "Favor inserir o valor a ser depositado");
	BigDecimal saldo = new BigDecimal(inputSaldo);  
	
	inputMeses = JOptionPane.showInputDialog(null, "Favor inserir o valor a quantidade de meses que este valor irá render");
	meses = Integer.parseInt(inputMeses);
	
	inputJuros = JOptionPane.showInputDialog(null, "Favor digitar a taxa de juros mensais)");
	BigDecimal juros = new BigDecimal(inputJuros);
	
	while (count <= meses)
	{
		saldo = saldo * (juros + 1.00);	
		count++;
		JOptionPane.showMessageDialog(null,"Seu saldo no mes " + meses + " é de R$" + saldo);
	}
	
				
	  
}

}
Galera esse que é o meu código usando a dica de como converter String pra BigDecimal, porém surgiu outro problema, quando eu coloco juros + 1.00 a Ide reclama que não está no formato BigDecimal “Já tentei de diversas formas” e mesmo quando eu tiro o 1.00 a ide reclama que não está definido na classe BigDecimal o que fazer quando estiver o simbolo * (q é multiplicar) me ajudem por favor.
Obrigado!

É bom ler a documentação de vez em quando. A classe BigDecimal não redefine os operadores (+, -, *, /) e você precisa chamar os métodos correspondentes.

BigDecimal

Obrigado thiago, mas não custava nada me informar os métodos correspondentes agora eu achei, olha como que ficou meu código.

import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.util.*;
import javax.swing.JOptionPane;

public class Principal {

public static void main(String[] args) {

DecimalFormat df = new DecimalFormat ("#,##0.00", new DecimalFormatSymbols (brasil));
int meses,count=0;
String inputJuros, inputSaldo, inputMeses;
BigDecimal um = new BigDecimal(1.00);

	inputSaldo = JOptionPane.showInputDialog(null, "Favor inserir o valor a ser depositado");
	BigDecimal saldo = new BigDecimal(inputSaldo);  
	
	inputMeses = JOptionPane.showInputDialog(null, "Favor inserir o valor a quantidade de meses que este valor irá render");
	meses = Integer.parseInt(inputMeses);
	
	inputJuros = JOptionPane.showInputDialog(null, "Favor digitar a taxa de juros (mensais)");
	BigDecimal juros = new BigDecimal(inputJuros);
	
	while (count < meses)
	{
		saldo = saldo.multiply(juros.add(um)); //multiply multiplica e add soma	
		count++;
		JOptionPane.showMessageDialog(null,"Seu saldo no mes " + count + " é de R$" + df.format(saldo));
	}
	
				
	  
}

}

faltou o locale.

Locale brasil = new Locale (“pt”, “BR”);

Bom, um carinha que trabalha comigo (e meu nome não é Thiago ! ) até tem um login no GUJ, mas tem medo de postar, porque eu não sou muito paciente e logo mando ler o Javadoc :stuck_out_tongue: - é claro que para ele é mais fácil me perguntar direto.