Diferència entre revisions de la pàgina «M3 - Programació estructurada / Continguts UF1: System.out.printf»
De wikiserver
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. | ||
− | |||
− | |||
::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: | + | ::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:
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À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