Praca z typami danych liczbowych
Wskazówka
Aby uzyskać więcej szczegółów, zobacz kartę Tekst i obrazy .
Każda wartość w języku C# ma typ danych. W przypadku liczb język C# udostępnia kilka typów w zależności od tego, czy potrzebujesz liczb całkowitych, dziesiętnych, czy szerszego zakresu wartości. Wybranie odpowiedniego typu ułatwia pisanie dokładnych obliczeń.
Typowe typy liczbowe
| Nazwa typu | Słowo kluczowe języka C# | Opis | Example |
|---|---|---|---|
| Integer | int |
Liczby całkowite (dodatnie lub ujemne) |
42, -7, 1000 |
| Decimal | decimal |
Dokładne liczby dziesiętne, doskonałe dla pieniędzy |
19.99m, 3.14m |
| Double | double |
Większe liczby dziesiętne, typowe dla obliczeń |
3.14, 2.71828 |
Note
Podczas zapisywania literału dziesiętnego język C# domyślnie zakłada, że jest to double. Aby utworzyć literał decimal, dodaj na końcu literę m: 19.99m.
Deklarowanie zmiennych liczbowych
Podobnie jak wcześniej, należy zadeklarować zmienną, określając jej typ:
int score = 95;
decimal price = 19.99m;
double average = 87.5;
Język C# jest silnie typowany
W przeciwieństwie do niektórych innych języków C# jest językiem silnie typizowanym. Oznacza to, że po zadeklarowaniu zmiennej jako określonego typu może ona przechowywać tylko ten typ wartości:
int count = 10;
count = "ten"; // ERROR! Can't assign a string to an int
Może to wydawać się rygorystyczne, ale pomaga wcześnie wychwytywać błędy i sprawia, że kod jest bardziej przewidywalny.
Dlaczego typ ma znaczenie
Typ danych wpływa na sposób wykonywania obliczeń w języku C#:
int a = 7;
int b = 2;
Console.WriteLine(a / b); // Output: 3 (integer division truncates)
decimal c = 7m;
decimal d = 2m;
Console.WriteLine(c / d); // Output: 3.5 (keeps the decimal)
Gdy obie wartości są liczbami całkowitymi, język C# wykonuje dzielenie całkowite i usuwa część dziesiętną. Aby zachować dokładność dziesiętną, należy użyć typu dziesiętnego. Dowiesz się, jak dokonywać konwersji między typami, w dalszej części.