Programovací jazyk Java poskytuje nejen základní metody pro formátování číselných typů a výpis řetězců, ale také způsob pro textovou reprezentaci času a data, který se zvláště hodí při unifikace a následné načítání. Předpis způsobu formátování je realizován textovým řetězcem obsahující vyhrazené formátovací znaky.
String str = "Pepa"; char ch = 'x'; int i = 12; float f = 4.5F; Date date = new Date(); System.out.printf("%b%n", str); System.out.printf("%c%n", ch); System.out.printf("%03d%n", i); System.out.printf("%e%n", f); System.out.printf("%03f%n", f); System.out.printf("%.2f%n", f); System.out.printf("{%07.3f}%n", f); System.out.printf("%f%n", f); System.out.printf("%g%n", f); System.out.printf("%h%n", f); System.out.printf("%s%n", 5); System.out.printf("%s://%s/%s%n", str, str, str); System.out.printf("%1$s...%n", str); System.out.printf("%5s%n", str); System.out.printf("%-5s%n", str); System.out.printf("%-10.10s %s%n", str, 3); System.out.printf("%.5s%n", str); System.out.printf("%s%n", date); System.out.printf("%tc%n", date); //(lowercase t, lowercase c) System.out.printf("%tC%n", date); //(lowercase t, uppercase C) System.out.printf("%tD%n", date); System.out.printf("%tF%n", date); System.out.printf("%tr%n", date); System.out.printf("%tR%n", date); System.out.printf("%tT%n", date); System.out.printf("%tz%n", date); System.out.printf("%Tc%n", date); System.out.printf("%1$x, %1$X%n", 0xCAFE); System.out.printf(Locale.CHINA, "%tc%n", date); System.out.printf(Locale.ITALIAN, "%tc%n", date); System.out.printf(Locale.getDefault(), "%tc%n", date);
%c | character | ||||
%d | decimal (integer) number (base 10) | ||||
%e | exponential floating-point number | ||||
%f | floating-point number | ||||
%i | integer (base 10) | ||||
%o | octal number (base 8) | ||||
%s | a string of characters | ||||
%u | unsigned decimal (integer) number | ||||
%x | number in hexadecimal (base 16) | ||||
%% | print a percent sign | ||||
\% | print a percent sign |
Popis | Kód | Výsledek | ||||||
šířka alespoň 5 znaků | printf(“'%5d'”, 10); | ' 10' | ||||||
šířka alespoň 5 znaků, zarovnáno vlevo | printf(“'%-5d'”, 10); | '10 ' | ||||||
šířka alespoň 5 znaků, doplněno nulami | printf(“'%05d'”, 10); | '00010' | ||||||
šířka alespoň 5 znaků, se znaménkem + | printf(“'%+5d'”, 10); | ' +10' | ||||||
šířka alespoň 5 znaků, se znaménkem +, zarovnáno vlevo | printf(“'%-+5d'”, 10); | '+10 ' |
Popis | Kód | Výsledek | ||||||
jedno desetinné místo | printf(“'%.1f'”, 10.3456); | '10.3' | ||||||
dvě desetinná místa | printf(“'%.2f'”, 10.3456); | '10.35' | ||||||
šířka alespoň 8 znaků, dvě desetinná místa | printf(“'%8.2f'”, 10.3456); | ' 10.35' | ||||||
šířka alespoň 8 znaků, čtyři desetinná místa | printf(“'%8.4f'”, 10.3456); | ' 10.3456' | ||||||
šířka alespoň 8 znaků, dvě desetinná místa, doplněno nulami | printf(“'%08.2f'”, 10.3456); | '00010.35' | ||||||
šířka alespoň 8 znaků, dvě desetinná místa, zarovnáno vlevo | printf(“'%-8.2f'”, 10.3456); | '10.35 ' | ||||||
šířka alespoň 8 znaků, dvě desetinná místa, zarovnáno vlevo | printf(“'%-8.2f'”, 101234567.3456); | '101234567.35' |
Popis | Kód | Výsledek | ||||||
jednoduchý řetězec | printf(“'%s'”, “Hello”); | 'Hello' | ||||||
řetězec s minimální délkou | printf(“'%10s'”, “Hello”); | ' Hello' | ||||||
řetězec s minimální délkou, zarovnáno vlevo | printf(“'%-10s'”, “Hello”); | 'Hello ' |
\a | audible alert | ||||
\b | backspace | ||||
\f | form feed | ||||
\n | newline, or linefeed | ||||
\r | carriage return | ||||
\t | tab | ||||
\v | vertical tab | ||||
\\ | backslash |