Double e notação científica

Realize a operação abaixo: (números são todos do tipo double)
0+88888888
O resultado vai dar 8.8888888E7 (uma notação científica).
Toda operação envolvendo double, quando o número passa de 7 dígitos, ele converte automaticamente para notação científica (no meu caso aqui)
Eu não quero exibir notação científica. Quero exibir o resultado normal da operação, em decimal mesmo.
O que eu poderia fazer? preciso de um exemplo, pois tô começando agora com o java.

Obrigado aos amigos do guj que têm me ajudado muito.

Meu código tá assim:

String operando_1 = “88888888”;
String operando_2 = “0”;
double resultado = Double.valueOf(operando_1) + Double.valueOf(operando_2);

O resultado eu transformo em string e exibo em um JOptionPane.

Você pode usar DecimalFormat para isso:

http://java.sun.com/j2se/1.4.2/docs/api/java/text/DecimalFormat.html

E isso ai galera , vcs têm sanado muitas das minhas duvidas tb , mas
têm uma que ainda ñ foi sanada , sobre a calculadora java , aquele que
havia no forum rodou bele , mas não estou conseguindo implementar
o fatorial , assim que o processo e colocado ele trava , vcs tem algum exemplo de fatorial pronto ou a calcu toda c/o fatorial p/me passar?
:thumbup:

Mostre como você fez a calculadora para vermos porque está dando erro.

Fala double , bele , segue a calculator , veja se vc consegue localizar o
erro , e na parte fatorial , o que preciso na verdade e que ele rode em comando simples mesmo , não sera preciso imagem ou coisas assim , tipo paschal mesmo manja? se puder dar um help ,valeu :thumbup:

[color=blue][b]import java.awt.;
import java.awt.event.
;
import javax.swing.*;

public class Calculator extends JPanel implements ActionListener {
GridBagConstraints gbc = new GridBagConstraints( );
JTextField theDisplay = new JTextField( );

public Calculator( ) {
gbc.weightx = 1.0; gbc.weighty = 1.0;
gbc.fill = GridBagConstraints.BOTH;
ContainerListener listener = new ContainerAdapter( ) {
public void componentAdded(ContainerEvent e) {
Component comp = e.getChild( );
if (comp instanceof JButton)
((JButton)comp).addActionListener(Calculator.this);
}
};
addContainerListener(listener);
gbc.gridwidth = 4;
addGB(this, theDisplay, 0, 0);
// make the top row
JPanel topRow = new JPanel( );
topRow.addContainerListener(listener);
gbc.gridwidth = 1;
gbc.weightx = 1.0;
addGB(topRow, new JButton(“C”), 0, 0);
gbc.weightx = 0.33;
addGB(topRow, new JButton("%"), 1, 0);
gbc.weightx = 1.0;
addGB(topRow, new JButton("+"), 2, 0 );
gbc.gridwidth = 4;
addGB(this, topRow, 0, 1);
gbc.weightx = 1.0; gbc.gridwidth = 1;
// make the digits
for(int j=0; j<3; j++)
for(int i=0; i<3; i++)
addGB(this, new JButton("" + ((2-j)3+i+1) ), i, j+2);
addGB(this, new JButton("" ! ((2-j)3i
2) ), i, j2);
//! , * , Fatorial
addGB(this, new JButton("
"), 3, 2);
addGB(this, new JButton(“u00F7”), 3, 2);
// -, x, and divide
addGB(this, new JButton("-"), 3, 2);
addGB(this, new JButton(“x”), 3, 3);
addGB(this, new JButton(“u00F7”), 3, 4);
// make the bottom row
JPanel bottomRow = new JPanel( );
bottomRow.addContainerListener(listener);
gbc.weightx = 1.0;
addGB(bottomRow, new JButton(“0”), 0, 0);
gbc.weightx = 0.33;
addGB(bottomRow, new JButton("."), 1, 0);
gbc.weightx = 1.0;
addGB(bottomRow, new JButton("="), 2, 0);
gbc.gridwidth = 4;
addGB(this, bottomRow, 0, 5);
}

void addGB(Container cont, Component comp, int x, int y) {
if ((cont.getLayout( ) instanceof GridBagLayout) == false)
cont.setLayout(new GridBagLayout( ));
gbc.gridx = x; gbc.gridy = y;
cont.add(comp, gbc);
}

public void actionPerformed(ActionEvent e) {
if (e.getActionCommand( ).equals(“C”))
theDisplay.setText("");
else
theDisplay.setText(theDisplay.getText( )
+ e.getActionCommand( ));
}

public static void main(String[] args) {
JFrame f = new JFrame(“Calculator”);
f.addWindowListener(new WindowAdapter( ) {
public void windowClosing(WindowEvent e) { System.exit(0); }
});
f.setSize(200, 250);
f.setLocation(200, 200);
f.setContentPane(new Calculator( ));
f.setVisible(true);
}
}
[/b][/color]

Tá faltando calcular, né?? Esse código que você fez só faz colocar os numeros na tela.

Duas dicas:

  1. Crie uma classe calculadora que contenha as operações (soma, subtração, multiplicação, divisão, fatorial, etc.) que você deseja fazer e não as misture com a interface gráfica. A interface gráfica (se você for fazer) deve estar em outra classe e deve usar a classe calculadora.

  2. Fazer um fatorial é muito fácil. A definição de fatorial é:

[quote]x! = x * (x-1) * … * 2 * 1[/quote]ou ainda:

[quote]x! = 1, se x <= 1
x! = x * (x-1)!, se x > 1[/quote]
Então você deve criar um método na classe calculadora que recebe como argumento um número inteiro e verifica se ele é menor ou igual a 1. Se for, retorne 1. Senão, retorne o número * fatorial(numero - 1). Fica algo parecido com isso, mas você tem que escrever na sintaxe do Java.

def fatorial(x)
   se x <= 1
       retorne 1;
   senão
       retorne x * fatorial(x-1);
fim

Com essas dicas, tente começar a fazer algo e se tiver alguma dificuldade poste aqui.