Double

ae oh…
tenho um numero 30202013, mas o q acontece eh q qdo vou escrever o numero ele aparece em notacao cientifica, quero saber como eu faço pra escrever esse double da maneira normal…

public class Testes{
   public static void main(String[] args) {
      Double numDouble = new Double(30202013);
      System.out.println(numDouble);
   }
}

----CONSOLE--------------------------------------------------- 
3.0202013E7
Press any key to continue...
------------------------------------------------------------------

Sejam muito bem vindos ao GUJ Wellington e MrBlack!!!

Bem, uma maneira um pouco mais simples eh vc obter o intValue do seu objeto Double MrBlack:

System.out.println(numDouble.intValue());

Boa observação Wellington!

Ele realmente limitará o valor em Integer.MAX_VALUE, pelo intervalo do tipo int, afinal, intValue retornará um inteiro…

Entao, esclarecendo a resposta, o intValue eh aplicável sem problemas somente se valores inteiros forem passados como parâmetros…

Tente isso:

package testes;

import java.text.DecimalFormat;

public class TesteDouble {
	public TesteDouble() {
		Double numDouble = new Double(30202013);
		DecimalFormat f = new DecimalFormat("0.#");
		System.out.println(f.format(numDouble));
	}
	
	public static void main(String[] args) {
		new TesteDouble();
	}
}

[quote=Diogenes]Sejam muito bem vindos ao GUJ Wellington e MrBlack!!!
[/quote]

Obrigado :smiley:

[quote=Diogenes]Bem, uma maneira um pouco mais simples eh vc obter o intValue do seu objeto Double MrBlack:

[/quote]

O uso do numDouble.intValue() pode ser problemático caso o valor não seja comportado em um inteiro…

Exemplo:

Double numDouble = new Double("3020201312");
		
int teste = numDouble.intValue();

DecimalFormat f = new DecimalFormat("0.#");
		
System.out.println(teste);
System.out.println(f.format(numDouble));

Mas como o MrBlack foi pontual com o valor, intValue() não vai ser problema :stuck_out_tongue: