Java.lang.NumberFormatException[RESOLVIDO]

9 respostas
P

Ola,

Estou tentando fazer um cast de String para Double mas está ocorrendo este erro:[code]java.lang.NumberFormatException[code] no textfield que estou pegando o texto eu tdigito numeros quebrados como 123.52 ai ocorre isso.Para fazer o cast só posso ter numeros inteiros?

Obrigada =D

9 Respostas

nel

[quote=paty_trind]Ola,

Estou tentando fazer um cast de String para Double mas está ocorrendo este erro:
java.lang.NumberFormatException[code] no textfield que estou pegando o texto eu tdigito numeros quebrados como 123.52 ai ocorre isso.Para fazer o cast  posso ter numeros inteiros?

Obrigada =D[/quote]

Oi.

[code]String s = "123.52";
Double d = Double.valueOf(s);
System.out.println(d);

Perfeitamente aceitavél.
Poste o seu código caso o erro persista.

williamdasflores

Você está usando o parseDouble()?

P
Oi, A conversão estou fazendo da seguinte maneira:
botaoCalcular.addActionListener (new ActionListener (){                                     
			public void actionPerformed(ActionEvent e)
			{

				double valorTotal = 0,valorEntrada=0,quantidadeDeParcelas=0,valorFinalDaParcela=0;
				String valorParcela=null;

				if(txtValorTotal.getText()!=null && txtValorEntrada.getText()!=null && txtQntdeParcelas!=null)
				{
					valorTotal=Double.parseDouble(txtValorTotal.getText());
					valorEntrada=Double.parseDouble(txtValorEntrada.getText());
					quantidadeDeParcelas=Double.parseDouble(txtQntdeParcelas.getText());					valorFinalDaParcela=(valorTotal-valorEntrada)/quantidadeDeParcelas;
					valorParcela=String.valueOf(valorFinalDaParcela);
					txtValorParcela.setText(valorParcela);
				}
			}});
Sim estou usando o parseDouble

Obrigada =D

nel

Use o valueOf ou passe o valor no construtor.

P

Troquei o parseDouble para Double.valueOf mas o erro continua
fiz estas alterações n meu código:

valorTotal=Double.valueOf(txtValorTotal.getText()); valorEntrada=Double.valueOf(txtValorEntrada.getText()); quantidadeDeParcelas=Double.valueOf(txtQntdeParcelas.getText()); valorFinalDaParcela=(valorTotal-valorEntrada)/quantidadeDeParcelas; valorParcela=String.valueOf(valorFinalDaParcela); txtValorParcela.setText(valorParcela);

Obrigada :slight_smile:

nel

paty_trind:
Troquei o parseDouble para Double.valueOf mas o erro continua
fiz estas alterações n meu código:

valorTotal=Double.valueOf(txtValorTotal.getText()); valorEntrada=Double.valueOf(txtValorEntrada.getText()); quantidadeDeParcelas=Double.valueOf(txtQntdeParcelas.getText()); valorFinalDaParcela=(valorTotal-valorEntrada)/quantidadeDeParcelas; valorParcela=String.valueOf(valorFinalDaParcela); txtValorParcela.setText(valorParcela);

Obrigada :)

Qual o erro completo?
Lembro que o seu Text() deve conter APENAS números e mais nada.

P

bah! então acho q é isso pq no meu getText() eu uso uma mascara para que os numeros fiquem assim 0000,00
mas então tipo sempre q eu precisar converter um valor de String para Double ou Float não vou poder usar mascaras?
bah!eu pensava q só não podia para Int…

O código do erro é este:

Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "1235,66" at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source) at java.lang.Double.valueOf(Unknown Source) at OpcoesPgto$5.actionPerformed(OpcoesPgto.java:733) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.setPressed(Unknown Source)

Obrigada :lol:

nel

paty_trind:
bah! então acho q é isso pq no meu getText() eu uso uma mascara para que os numeros fiquem assim 0000,00
mas então tipo sempre q eu precisar converter um valor de String para Double ou Float não vou poder usar mascaras?
bah!eu pensava q só não podia para Int…

O código do erro é este:

Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "1235,66" at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source) at java.lang.Double.valueOf(Unknown Source) at OpcoesPgto$5.actionPerformed(OpcoesPgto.java:733) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.setPressed(Unknown Source)

Obrigada :lol:

Tente isso:

valorTotal=Double.valueOf(txtValorTotal.getText().replaceAll(",", "."));
P

Obrigada pela ajuda!
Usando o getText().replaceAll(",", ".")); funcionou =D

Criado 28 de outubro de 2011
Ultima resposta 28 de out. de 2011
Respostas 9
Participantes 3