Diferència entre revisions de la pàgina «M3 - Programació estructurada / Continguts UF1: System.out.printf»

De wikiserver
Dreceres ràpides: navegació, cerca
Línia 63: Línia 63:
 
:::12.3698 de tipus double amb dos decimals:  
 
:::12.3698 de tipus double amb dos decimals:  
 
<pre>
 
<pre>
   System.out.printf("%.2f %n", 12.3698);'''
+
   System.out.printf("%.2f %n", 12.3698);
 +
 
 +
  Sortida: 12,37
 
</pre>
 
</pre>
 
::- '''%''' indica que en aquesta posició es va a escriure un valor. El valor a escriure es troba a continuació de les cometes.
 
::- '''%''' indica que en aquesta posició es va a escriure un valor. El valor a escriure es troba a continuació de les cometes.
Línia 69: Línia 71:
 
::- '''f''' indica que el nombre és de tipus float o double.
 
::- '''f''' indica que el nombre és de tipus float o double.
 
::- '''%n''' indica un salt de línia. Equival a '''\n'''. Podem usar tots dos.
 
::- '''%n''' indica un salt de línia. Equival a '''\n'''. Podem usar tots dos.
 
::La sortida per pantalla és: 12,37
 
  
 
::Si el valor es troba en una variable:
 
::Si el valor es troba en una variable:
Línia 76: Línia 76:
 
   double n = 1.25036;
 
   double n = 1.25036;
 
   System.out.printf("%.3f %n", n);
 
   System.out.printf("%.3f %n", n);
 +
 +
  Sortida: 1,250
 +
</pre>
 +
 +
::Per mostrar el signe + en un nombre positiu:
 +
<pre>
 +
  double n = 1.25036;
 +
  System.out.printf("%+.3f %n", n);
 +
 +
  Sortida: +1.250
 
</pre>
 
</pre>
  
:: Sortida: 1,250
+
::Si el nombre a mostrar és un enter s'utilitza el caracter d:
 +
<pre>
 +
  int x = 10;
 +
  System.out.printf("%d %n", x);
 +
 
 +
  Sortida: 10
 +
</pre>
 +
 
 +
::Per mostrar-ho amb signe:
 +
<pre>
 +
  int x = 10;
 +
  System.out.printf("%+d %n", x);
 +
 
 +
  Sortida: +10
 +
</pre>

Revisió del 20:49, 1 març 2018

Especificadors de format:

  • La sintaxi per als especificadors de format de printf és:
   %[posició_dada$][indicador_de_format][ample][.precisió]caràcter_de_conversió 
  • Els elements entre claudàtors són opcionals.
  • posició_dada: indica la posició de la dada sobre el qual es va aplicar el format. El primer per l'esquerra ocupa la posició 1.
  • indicador_de_format: és el conjunt de caràcters que determina el format de sortida.
  • Els indicadors de format de printf en Java són:
INDICADORS DE FORMAT
INDICADOR SIGNIFICAT
- Alineació a l'esquerra
( Els nombres negatiur es mostren entre parèntesi
' Mostra el separador decimal
+ Mostre el signe + en números positius
0 Omple amb zeros
  • ample: Indica la grandària mínima, mesurat en nombre de caràcters, que ha d'ocupar la dada en pantalla.
  • .precisió: Indica el nombre de decimals que seran representats. Solament aplicable adades de tipus float o double.
  • caràcter_de_conversió: Caràcter que indica com ha de ser formatat la dada. Els més utilitzats es mostren en la taula.
CARÀCTERS DE CONVERSIÓ
CARÀCTER TIPUS
d Número enter en base decimal
f Número real amb punt fix
E,e Número real en notació científica
g Número real. Es representa en notació científica si és molt gran o molt petit
X,x Número enter en base hexadecimal
s String
S String en majúscules
c Caràcter Unicode
C Caràcter Unicode en majúscules
  • Exemples:
12.3698 de tipus double amb dos decimals:
   System.out.printf("%.2f %n", 12.3698);

   Sortida: 12,37
- % indica que en aquesta posició es va a escriure un valor. El valor a escriure es troba a continuació de les cometes.
- .2 indica el nombre de decimals.
- f indica que el nombre és de tipus float o double.
- %n indica un salt de línia. Equival a \n. Podem usar tots dos.
Si el valor es troba en una variable:
   double n = 1.25036;
   System.out.printf("%.3f %n", n);

   Sortida: 1,250
Per mostrar el signe + en un nombre positiu:
   double n = 1.25036;
   System.out.printf("%+.3f %n", n);

   Sortida: +1.250
Si el nombre a mostrar és un enter s'utilitza el caracter d:
   int x = 10;
   System.out.printf("%d %n", x);

   Sortida: 10
Per mostrar-ho amb signe:
   int x = 10;
   System.out.printf("%+d %n", x);

   Sortida: +10