Conversão de LONG para STRING

Num programa simples, como abaixo, estou tentando exibir uma string que contem valores tipo LONG. Usei dois metodos para converter de LONG para STRING: String.valueOf e Long.toString, mas os valore voltam como inteiro.

No exemplo, ao menos as variáveis medCircunferencia e medArea deveriam retornar números “quebrados”.

Gostaria de saber como converter um LONG para string que mostrasse o número completo, inteiro e casas decimais (ex: o nr do PI, 3,14159…).


String valRaio, result;
String showDiametro, showCircunferencia, showArea;
long medRaio, medDiametro, medCircunferencia, medArea;
double PI = Math.PI;

valRaio = JOptionPane.showInputDialog("Entre com o raio: ");

medRaio = Long.parseLong( valRaio );
medDiametro = 2 * medRaio;
medCircunferencia = (long) (2 * PI * medRaio);
medArea = (long) (2 * PI * (medRaio * medRaio));

showDiametro = String.valueOf(medDiametro);
showCircunferencia = String.valueOf(medCircunferencia);
showArea = Long.toString(medArea);

result = "Com o raio = " + valRaio + ", temos: " + "
" +
"Diametro: " + showDiametro + "
" +
"Circunferencia: " + showCircunferencia + "
" +
"Área: " + showArea;

JOptionPane.showMessageDialog(null, result, “Resultado”, JOptionPane.INFORMATION_MESSAGE);
System.exit(0);

Grato.

Já tentou usar double? O tipo long é apenas para números inteiros mesmo.

faz assim:


long x = 15555;

String str = "texto " + x ;
1 curtida

[quote=“Wonder”]faz assim:

[code]

long x = 15555;

String str = "texto " + x ;
[/code][/quote]

hehe assim é feio :smiley:

que tal

String s = String.valueOf( long l );

String s2 = String.valueOf( new Long( 123 ) );
1 curtida

Posso estar viajando :shock: , mas suas variáveis que devem possui valores quebrados não deveriam ser float ao invés de long? :?: