2011-08-25 57 views

Respuesta

69

Utilice esto:

printf ("%.2f", 3.14159); 
+8

Cabe señalar que esto realmente redondea el número, no solo lo corta. – jimpic

1

Puede intentar printf ("% .2f", [double]);

12

se puede usar algo como esto:

printf("%.2f", number); 

Si tiene que utilizar la cadena para algo que imprimir, tú sí la clase NumberFormat:

NumberFormat formatter = new DecimalFormatter("#.##"); 
String s = formatter.format(3.14159265); // Creates a string containing "3.14" 
+3

O 'Cadena s = String.format ("% .2f ", número) '. – brimborium

3

como se describe en Formatter clase, tiene que declarar precisión. %.2f en su caso.

2

Utilice esta

printf ("%.2f", 3.14159); 
0

que sugieren que aprender con printf porque durante muchos casos esto será suficiente para sus necesidades y usted no tendrá que crear otros objetos.

double d = 3.14159;  
printf ("%.2f", d); 

Pero si necesita redondeo por favor refiérase a este post

https://stackoverflow.com/a/153785/2815227

1
System.out.printf("%.2f", number); 

PERO, esto va a redondear el número al punto decimal más cercano que usted ha mencionado. (Al igual que en su caso obtendrá 3.14 desde el redondeo 3.14159 a 2 decimales será 3.14)

Dado que la función printf redondeará los números de las respuestas para algunos otros números puede tener este aspecto,

System.out.printf("%.2f", 3.14136); -> 3.14 
System.out.printf("%.2f", 3.14536); -> 3.15 
System.out.printf("%.2f", 3.14836); -> 3.15 

Si sólo tiene que corte de los números decimales y limitarlo a un k números decimales sin redondeo,

digamos k = 2.

System.out.printf("%.2f", 3.14136 - 0.005); -> 3.14 
System.out.printf("%.2f", 3.14536 - 0.005); -> 3.14 
System.out.printf("%.2f", 3.14836 - 0.005); -> 3.14 
Cuestiones relacionadas