En mi printf
, tengo que usar %f
pero no estoy seguro de cómo truncar a 2 decimales:printf% f con solo 2 números después del punto decimal?
Ejemplo: conseguir
3.14159
para imprimir como:
3.14
En mi printf
, tengo que usar %f
pero no estoy seguro de cómo truncar a 2 decimales:printf% f con solo 2 números después del punto decimal?
Ejemplo: conseguir
3.14159
para imprimir como:
3.14
Utilice esto:
printf ("%.2f", 3.14159);
Puede intentar printf ("% .2f", [double]);
Probar:
printf("%.2f", 3.14159);
Referencia:
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"
O 'Cadena s = String.format ("% .2f ", número) '. – brimborium
como se describe en Formatter clase, tiene que declarar precisión. %.2f
en su caso.
Utilice esta
printf ("%.2f", 3.14159);
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
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
Cabe señalar que esto realmente redondea el número, no solo lo corta. – jimpic