Double.parseDouble()

galera, sei que pode ser beeeeemmmmm idiota esta pergunta, mas foi uma coisa que eu nunca tinha parado pra pensar e agora estou com dificuldade neste treco…

Seeeeguinteeee…

é possível… fazer… parseDouble de uma String… quando esta String é “”?

porque nem sempre o valor vai ser informado, mas qdo for fará parte de uma operação,

então nao posso atribuir nenhum valor estático a ele…

agrdeço galera

Posta o codigo.

[]s

Fala Tché. Desculpa mas qual o contexto dessa sua pergunta ?? Vc não pode testar a string antes pra ver se esta nula e atribuir zero a ela caso positivo ??

É fácil…

faça o teste:

public static void main(String[] args) {
		Double.parseDouble("");

	}

E veja o que acontece!

Até

double valor = Double.parseDouble(suaString.equals("")?"0":suaString);

Então brothers…

eu fiz o teste e retorna:

Exception in thread “AWT-EventQueue-0” java.lang.NumberFormatException: empty String
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:994)
at java.lang.Double.parseDouble(Double.java:510)

o dificil é que se eu atribuir zero, como poderei multiplicá-lo???

vai alterar o resultado…

vou postar o código ói…

Então multiplique por 1, não ira alterar o resultado


if (!"".equalsIgnoreCase(suaString)) {
  resolveSuaOperacao();
} else {
  naoFazNada();
}

Se nao pode por zero faz como o pessoal ta aconselhando…e conforme o nosso amigo postou acima… mas troca o zero por 1.

double valor = Double.parseDouble(suaString.equals("")?"1":suaString);

Eu já faria da seguinte forma:

public static void main(String[] args)
{
   try
   {
      double valor = Double.parseDouble("");
   }
   catch (NumberFormatException ex)
   {
       System.out.println("Este número não pode ser convertido para Double"); //apenas um exemplo
   }
}

double baseICMS, testaCalculo, resultadoCalculo;

baseICMS = (Double.parseDouble(txtBaseICMS.getText()));
testaCalculo = (Double.parseDouble(txtTestaCalculo.getText()));

resultadoCalculo = (baseICMS * testaCalculo);

System.out.println("Resultado: " +resultadoCalculo);

verdade neh… multiplicar por 1 nao muda…

e nos casos de soma ou sub eu uso o zero…

Pohhhhhhh valeu galera!!

=)

Poh mas me recordei…

vou ter que imprir este valor… e se não digitarem nda tem que aparecer nada!

é parte de uma nota fiscal… e se a pessoa nao digitar nda no campo nao pode aparecer 1… ou 0…

o coisinha xata

Deixa atribuir zero mesmo a double e para fazer a conta

double d = 0.0d;//Como s fosse seu double
double resultado = 0.5*15*5*(d <= 0.0d)? 1: d);
System.out.println(resultado);