Discussion:
Formatear decimales en String
(demasiado antiguo para responder)
Iris
2004-02-25 17:27:47 UTC
Permalink
Hola a todos,

Tengo que pasar unos valores a un String para luego escribir en un fichero.
Los indices i,j son enteros y el dValue es un double. Quisiera tener en ese
dato del String únicamente 2 decimales. ¿Cómo puedo conseguirlo?

sString = "STATE " + i + "-" + j + " : " + dValue;
Individual Net
2004-02-25 17:44:12 UTC
Permalink
Create una función que le pases el double, te lo convierta a string, te
elimine a partir de 2 decimales y te retorne el string para luego
concatenarlo.

Drk
Post by Iris
Hola a todos,
Tengo que pasar unos valores a un String para luego escribir en un fichero.
Los indices i,j son enteros y el dValue es un double. Quisiera tener en ese
dato del String únicamente 2 decimales. ¿Cómo puedo conseguirlo?
sString = "STATE " + i + "-" + j + " : " + dValue;
Iris
2004-02-25 17:44:02 UTC
Permalink
Es que puede tener sólo un decimal también... ¿no existe nada como el %2d de
C?
Post by Individual Net
Create una función que le pases el double, te lo convierta a string, te
elimine a partir de 2 decimales y te retorne el string para luego
concatenarlo.
Drk
Post by Iris
Hola a todos,
Tengo que pasar unos valores a un String para luego escribir en un
fichero.
Post by Iris
Los indices i,j son enteros y el dValue es un double. Quisiera tener en
ese
Post by Iris
dato del String únicamente 2 decimales. ¿Cómo puedo conseguirlo?
sString = "STATE " + i + "-" + j + " : " + dValue;
P. Martinez
2004-02-26 08:14:22 UTC
Permalink
Otra solucion:

sString = "STATE " + String.valueOf( i ) + "-" + String.valueOf( j ) + " : "
+ dValue;

Salu2.
____________________________________________________
Post by Iris
Es que puede tener sólo un decimal también... ¿no existe nada como el %2d de
C?
Post by Individual Net
Create una función que le pases el double, te lo convierta a string, te
elimine a partir de 2 decimales y te retorne el string para luego
concatenarlo.
Drk
Post by Iris
Hola a todos,
Tengo que pasar unos valores a un String para luego escribir en un
fichero.
Post by Iris
Los indices i,j son enteros y el dValue es un double. Quisiera tener en
ese
Post by Iris
dato del String únicamente 2 decimales. ¿Cómo puedo conseguirlo?
sString = "STATE " + i + "-" + j + " : " + dValue;
P. Martinez
2004-02-26 08:43:39 UTC
Permalink
Habia desaparecido la linea, la otra solucion es:

sString = "STATE " + String.valueOf( i ) + "-" + String.valueOf( j ) + " : "
+ String.valueOf( Math.round(dValue*100)*1.0/100 ));

Salu2.
____________________________________________________
Post by Iris
Es que puede tener sólo un decimal también... ¿no existe nada como el %2d de
C?
Post by Individual Net
Create una función que le pases el double, te lo convierta a string, te
elimine a partir de 2 decimales y te retorne el string para luego
concatenarlo.
Drk
Post by Iris
Hola a todos,
Tengo que pasar unos valores a un String para luego escribir en un
fichero.
Post by Iris
Los indices i,j son enteros y el dValue es un double. Quisiera tener en
ese
Post by Iris
dato del String únicamente 2 decimales. ¿Cómo puedo conseguirlo?
sString = "STATE " + i + "-" + j + " : " + dValue;
znôrt
2004-02-25 18:09:50 UTC
Permalink
On Wed, 25 Feb 2004 18:27:47 +0100, "Iris"
Post by Iris
Hola a todos,
Tengo que pasar unos valores a un String para luego escribir en un fichero.
Los indices i,j son enteros y el dValue es un double. Quisiera tener en ese
dato del String únicamente 2 decimales. ¿Cómo puedo conseguirlo?
sString = "STATE " + i + "-" + j + " : " + dValue;
Para usar números decimales usa BigDecimal en vez de double. Puedes
acotar los decimales así :

bigDec = new BigDecimal(dValue).setScale(2, BigDecimal.ROUND_HALF_UP);

Luego eso puedes representarlo con un simple toString() implícito,
igual que un double.

Además, para formatos más exigentes o temas de internacionalización,
también puede interesarte la clase NumberFormatter y derivados.

saludos
znôrt
EdUarDo
2004-02-26 08:29:55 UTC
Permalink
Post by Iris
Hola a todos,
Tengo que pasar unos valores a un String para luego escribir en un fichero.
Los indices i,j son enteros y el dValue es un double. Quisiera tener en ese
dato del String únicamente 2 decimales. ¿Cómo puedo conseguirlo?
sString = "STATE " + i + "-" + j + " : " + dValue;
DecimalFormat f = new DecimalFormat("0.00");
double n = 12121212121.897698;
// Deja el double con dos decimales
String numeroFormateado = f.format(n));
Iris
2004-02-26 08:57:03 UTC
Permalink
¡muchas gracias a todos!
Post by EdUarDo
Post by Iris
Hola a todos,
Tengo que pasar unos valores a un String para luego escribir en un fichero.
Los indices i,j son enteros y el dValue es un double. Quisiera tener en ese
dato del String únicamente 2 decimales. ¿Cómo puedo conseguirlo?
sString = "STATE " + i + "-" + j + " : " + dValue;
DecimalFormat f = new DecimalFormat("0.00");
double n = 12121212121.897698;
// Deja el double con dos decimales
String numeroFormateado = f.format(n));
Continúe leyendo en narkive:
Loading...