sábado, 7 de mayo de 2016

Java básico #13

Java printf para dar formato a los datos de salida.



          Vamos a ver como utilizar printf para dar formato a los datos que se imprimen por pantalla.

          Si queremos mostrar 3.141592 de tipo double con 3 decimales (podemos sustituir el número por una variable):                 System.out.printf("%.3f %n", 3.141591);

          1. El primer %, indica el valor que se va a escribir
          2. El .4 indica los decimales
          3. La f indica que el número es de tipo float o double
          4. El %n es un salto de línea.

          La salida por pantalla sería:
                 3.1415

          Si nos acordamos en el ejemplo anterior, ussamos la f para indicar el tipo de dato del número, para otros tipos tenemos:


          d --> Entero en base dedimal

          f --> Real de punto fijo
          E,e --> Real en notación científica
          g --> Real. Se representará en notación científica si el número es muy grande o muy pequeño
          X,x --> Entero en base hexadecimal
          s --> String
          S --> String en mayúsculas
          C,c --> Carácter unicode

Ejemplo:

  1. public static void main(String[] args) {
  2.      double q = 1.0/3.0;
  3.      System.out.printf ("1.0/3.0 = %5.3f %n", q);
  4.      System.out.printf ("1.0/3.0 = %7.5f %n", q);
  5.      q = 1.0/2.0;
  6.      System.out.printf ("1.0/2.0 = %09.3f %n", q);
  7.      q = 1000.0/3.0;
  8.      System.out.printf ("1000/3.0 = %7.1e h%n", q);
  9.      q = 3.0/4567.0;
  10.      System.out.printf ("3.0/4567.0 = %7.3e %n", q);
  11.      q = -1.0/0.0;
  12.      System.out.printf ("-1.0/0.0 = %7.2e %n", q);
  13.      q = 0.0/0.0;
  14.      System.out.printf ("0.0/0.0 = %5.2e %n", q);
  15.      System.out.printf ("pi = %5.3f, e = %10.4f %n"Math.PIMath.E);
  16.      double r = 1.1;
  17.      System.out.printf
  18.             ("C = 2 * %1$5.5f * %2$4.1f, "+"A = %2$4.1f * %2$4.1f * %1$5.5f %n",Math.PI, r);
  19. }

Salida:



1.0/3.0 = 0.333
1.0/3.0 = 0.33333
1.0/2.0 = 00000.500
1000/3.0 = 3.3e+02
-1.0/0.0 = -Infinity
0.0/0.0 = NaN
pi = 3.142, e = 2.7183
C = 2 * 3.14159 * 1.1, A = 1.1 * 1.1 * 3.14159

No hay comentarios:

Publicar un comentario