Formaty liczbowe i dziesiętne
Szerokość, precyzja i dopełnienie
Formaty liczbowe i dziesiętne to bezpłatna lekcja Java Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Java Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Java Academy zawiera 4 lekcji w sumie.
Formatowanie liczb
Liczby często wymagają specjalnego formatowania: stałej liczby miejsc dziesiętnych, dopełniania lub wyświetlenia znaku. Specyfikatory printf zapewniają taką kontrolę.
Ta lekcja koncentruje się na %d dla liczb całkowitych i %f dla wartości zmiennoprzecinkowych.
Specyfikator %f
%f formatuje liczbę zmiennoprzecinkową, taką jak wartość typu double lub float.
Domyślnie %f wyświetla sześć cyfr po przecinku, co zwykle oznacza więcej, niż jest potrzebne.
public class Main {
public static void main(String[] args) {
System.out.printf("%f\n", 3.14);
}
}Kontrolowanie miejsc dziesiętnych za pomocą .2
Aby ograniczyć liczbę miejsc dziesiętnych, należy dodać precyzję, taką jak .2, między % a f. %.2f oznacza „dwie cyfry po przecinku”.
Wartość jest zaokrąglana, a nie tylko obcinana.
public class Main {
public static void main(String[] args) {
System.out.printf("%.2f\n", 3.14159);
}
}Zaokrąglanie za pomocą printf
Precyzja zaokrągla wartość do najbliższej liczby. %.0f nie pokazuje żadnych miejsc dziesiętnych i zaokrągla wynik do liczby całkowitej.
Należy pamiętać, że zmienia to tylko sposób wyświetlania liczby, a nie przechowywaną wartość.
public class Main {
public static void main(String[] args) {
System.out.printf("%.0f\n", 2.7);
}
}Przykład z kwotą
Waluty niemal zawsze zapisuje się z dwoma miejscami dziesiętnymi. %.2f doskonale nadaje się do wyświetlania cen.
Można połączyć go z tekstem, aby utworzyć czytelny wiersz.
public class Main {
public static void main(String[] args) {
double price = 9.5;
System.out.printf("Total: $%.2f\n", price);
}
}Minimalna szerokość
Liczba między % a literą określa minimalną szerokość. %5d wyświetla liczbę całkowitą w polu o szerokości co najmniej 5 znaków, dopełniając je spacjami z lewej strony.
To pierwszy krok do tworzenia wyrównanych kolumn.
public class Main {
public static void main(String[] args) {
System.out.printf("[%5d]\n", 42);
}
}Szerokość z miejscami dziesiętnymi
Szerokość i precyzję można łączyć: %8.2f oznacza „co najmniej 8 znaków szerokości i 2 miejsca dziesiętne”.
Szerokość obejmuje cyfry, przecinek dziesiętny oraz ewentualne spacje dopełniające.
public class Main {
public static void main(String[] args) {
System.out.printf("[%8.2f]\n", 3.5);
}
}Dopełnianie zerami
Aby zamiast spacjami dopełniać wartość zerami, należy umieścić 0 bezpośrednio po %. %05d wypełnia lewą stronę zerami.
Jest to przydatne w przypadku identyfikatorów o stałej długości lub cyfr zegara, takich jak 09.
public class Main {
public static void main(String[] args) {
System.out.printf("%05d\n", 42);
}
}Separator tysięcy
Flaga przecinka %,d grupuje cyfry za pomocą separatorów, dzięki czemu duże liczby są czytelniejsze.
Działa również z %f, na przykład jako %,.2f.
public class Main {
public static void main(String[] args) {
System.out.printf("%,d\n", 1000000);
}
}Wyświetlanie znaku plus
Flaga + wymusza wyświetlenie znaku także przed liczbami dodatnimi. %+d wyświetla +5 zamiast 5.
Ułatwia to czytelne przedstawianie zysków i strat.
public class Main {
public static void main(String[] args) {
System.out.printf("%+d and %+d\n", 5, -3);
}
}System szesnastkowy za pomocą %x
Oprócz zapisu dziesiętnego specyfikator %x wyświetla liczbę całkowitą w systemie szesnastkowym, a %o w systemie ósemkowym.
Najczęściej będą Państwo używać %d i %f, ale warto wiedzieć, że istnieją także inne podstawy systemu liczbowego.
public class Main {
public static void main(String[] args) {
System.out.printf("%x\n", 255);
}
}Szybki test
Wybierz właściwy specyfikator.
Podsumowanie
Potrafią już Państwo kontrolować liczbę miejsc dziesiętnych za pomocą %.2f, ustawiać szerokość za pomocą %5d, dopełniać zerami przez %05d, grupować cyfry za pomocą %,d oraz wymuszać wyświetlanie znaków przez %+d.
W następnej części zapiszą Państwo sformatowany tekst w obiekcie String.
Często zadawane pytania
Czy lekcja „Formaty liczbowe i dziesiętne” jest bezpłatna?
Tak — pełny tekst „Formaty liczbowe i dziesiętne” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Java Academy, przejdź na CoddyKit PRO. Kurs Java Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Formaty liczbowe i dziesiętne”?
Szerokość, precyzja i dopełnienie Ćwiczysz Java Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Java Academy?
Nie wymagamy żadnego doświadczenia. Java Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Formaty liczbowe i dziesiętne”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Java Academy?
Tak. Każda lekcja Java Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Podstawy printf
- Formaty liczbowe i dziesiętne
- String.format
- Wyrównywanie tabel