0Pricing
C# Academy · Lekcja

Typy liczbowe

int, double, decimal i inne typy.

Typy liczbowe to bezpłatna lekcja C# Academy na CoddyKit. To lekcja 1 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 C# Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs C# Academy zawiera 4 lekcji w sumie.

Dlaczego typy liczbowe mają znaczenie

C# oferuje kilka typów liczbowych, z których każdy przechowuje inny zakres wartości i zajmuje inną ilość pamięci.

Wybór właściwego typu pomaga zachować poprawność i wydajność programów. Liczba całkowita, taka jak liczba użytkowników, mieści się w int, natomiast cena wymaga części dziesiętnej.

W tej lekcji poznają Państwo typy całkowite, zmiennoprzecinkowe i dziesiętne.

Typy całkowite

Typy całkowite przechowują liczby całkowite bez części ułamkowej.

  • int — 32-bitowy, domyślny w codziennym użyciu
  • long — 64-bitowy, do bardzo dużych wartości
  • short i byte — mniejsze zakresy

Należy używać int, chyba że wartość może przekroczyć około dwóch miliardów.

int age = 30;
long population = 8000000000;
Console.WriteLine(age);
Console.WriteLine(population);

Zakresy typów całkowitych

Każdy typ całkowity ma ustalone wartości minimalne i maksymalne. Można je odczytać za pomocą właściwości int.MaxValue i podobnych stałych.

Przekroczenie wartości maksymalnej powoduje przepełnienie, w wyniku którego wartość po cichu zawija się do początku zakresu.

Console.WriteLine(int.MinValue);
Console.WriteLine(int.MaxValue);
Console.WriteLine(long.MaxValue);

Zmiennoprzecinkowy: double

double to 64-bitowy typ zmiennoprzecinkowy przeznaczony do liczb rzeczywistych z częścią ułamkową.

Jest domyślnym typem literałów ułamkowych, więc 3.14 ma typ double. Jest szybki i świetnie sprawdza się w zastosowaniach naukowych oraz grafice, ale przechowuje wartości w przybliżeniu.

double pi = 3.14159;
double half = 1.0 / 2.0;
Console.WriteLine(pi);
Console.WriteLine(half);

Zmiennoprzecinkowy: float

float to 32-bitowy typ zmiennoprzecinkowy. Zajmuje połowę pamięci używanej przez double, ale przechowuje mniej cyfr.

Literał typu float wymaga przyrostka f, na przykład 2.5f; w przeciwnym razie C# traktuje tę liczbę jako double.

float temperature = 21.5f;
float ratio = 0.1f;
Console.WriteLine(temperature);
Console.WriteLine(ratio);

Dokładne wartości pieniężne: decimal

decimal to 128-bitowy typ przeznaczony do przechowywania pieniędzy i dokładnych wartości dziesiętnych. Pozwala uniknąć drobnych błędów zaokrągleń występujących w typie double.

Literał typu decimal używa przyrostka m, na przykład 9.99m. Należy używać go w przypadku cen, bankowości i księgowości.

decimal price = 9.99m;
decimal tax = 0.08m;
Console.WriteLine(price + price * tax);

double a decimal

Warto zobaczyć, jak double może dać zaskakujący wynik, podczas gdy decimal zachowuje dokładność.

Dlatego kod finansowy preferuje decimal, mimo że jest wolniejszy od double.

double d = 0.1 + 0.2;
decimal m = 0.1m + 0.2m;
Console.WriteLine(d);
Console.WriteLine(m);

Wnioskowanie typu za pomocą var

Słowo kluczowe var pozwala kompilatorowi wywnioskować typ na podstawie wartości po prawej stronie.

Zmienna nadal ma stały typ — zapis var count = 5; tworzy wartość typu int. Przyrostki określają typ literałów ułamkowych.

var count = 5;
var pi = 3.14;
var price = 9.99m;
Console.WriteLine(count.GetType());
Console.WriteLine(price.GetType());

Separatory cyfr

Dla większej czytelności można umieszczać znaki podkreślenia między cyframi dowolnego literału liczbowego. Kompilator ignoruje te znaki podkreślenia.

Dzięki temu duże liczby są znacznie łatwiejsze do odczytania na pierwszy rzut oka.

int million = 1_000_000;
long distance = 9_460_730_472_580_800;
Console.WriteLine(million);
Console.WriteLine(distance);

Specjalne wartości double

double może reprezentować wartości specjalne: dodatnią i ujemną nieskończoność oraz NaN (nie jest liczbą).

Dzielenie przez zero w przypadku wartości typu double daje nieskończoność zamiast błędu, natomiast dzielenie całkowite przez zero powoduje zgłoszenie wyjątku.

double inf = 1.0 / 0.0;
double nan = 0.0 / 0.0;
Console.WriteLine(inf);
Console.WriteLine(nan);

Wybór właściwego typu

Krótki przewodnik:

  • Liczby całkowite → int (lub long, jeśli są bardzo duże)
  • Wartości naukowe lub ogólne liczby dziesiętne → double
  • Pieniądze i dokładne wartości → decimal

Właściwy wybór pomaga uniknąć błędów przepełnienia i zaokrągleń.

Szybkie sprawdzenie

Sprawdzenie zrozumienia typów liczbowych.

Podsumowanie

Poznali Państwo podstawowe typy liczbowe języka C#: int i long do liczb całkowitych, double i float do liczb zmiennoprzecinkowych oraz decimal do dokładnych wartości pieniężnych.

Należy pamiętać o przyrostkach literałów: f dla typu float, m dla typu decimal oraz o znakach podkreślenia zwiększających czytelność. Typy należy dobierać, równoważąc zakres, precyzję i zużycie pamięci.

Często zadawane pytania

Czy lekcja „Typy liczbowe” jest bezpłatna?

Tak — pełny tekst „Typy liczbowe” 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 C# Academy, przejdź na CoddyKit PRO. Kurs C# Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Typy liczbowe”?

int, double, decimal i inne typy. Ćwiczysz C# 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ąć C# Academy?

Nie wymagamy żadnego doświadczenia. C# 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 1 z 4.

Ile czasu zajmuje lekcja „Typy liczbowe”?

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 C# Academy?

Tak. Każda lekcja C# 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

  1. Typy liczbowe
  2. Arytmetyka i priorytet operatorów
  3. Klasa Math
  4. Konwersja między liczbami
← Powrót do C# Academy