Formátovaný textový výstup

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);

Formátovaný výstup pomocí printf

Přehled formátových specifikátorů pro funkci printf:

%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

Formátování celých čísel

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 '

Formátování čísel s pohyblivou řádovou čárkou

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'

Formátování řetězců

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 '

Přehled speciálních znaků

\a audible alert
\b backspace
\f form feed
\n newline, or linefeed
\r carriage return
\t tab
\v vertical tab
\\
backslash
courses/b0b36pjv/tutorials/02/formatovany_vystup.txt · Last modified: 2018/02/06 08:43 (external edit)