Warning
This page is located in archive. Go to the latest version of this course pages. Go the latest version of this page.

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/bd6b36pjv/vstupni_znalosti/zal/formatovy_vystup.txt · Last modified: 2018/01/17 16:42 (external edit)