Rzutowanie typów

Słownik kwalifikacji INF.04 - Projektowanie, programowanie i testowanie aplikacji

Rzutowanie typów to jawna konwersja wartości z jednego typu danych na inny. W pytaniu wartość zmiennoprzecinkowa 5.96 jest zamieniana na typ całkowity int.

Rzutowanie z liczby zmiennoprzecinkowej na całkowitą

W wielu językach, m.in. w Pythonie, C++, C# i Javie, konwersja liczby typu float/double na int usuwa część ułamkową. Nie jest to klasyczne zaokrąglenie.

Przykład:

x = 5.96
b = int(x)
print(b)  # 5

Analogicznie w językach C++/C#/Java:

double x = 5.96;
int b = (int)x; // b = 5

Wynik to 5, ponieważ część .96 zostaje odcięta.

Ważne: odcięcie a zaokrąglenie

Rzutowanie na int nie działa jak funkcja zaokrąglająca:

  • int(5.96) daje 5, a nie 6,
  • int(5.1) daje 5,
  • int(5.999) również daje 5.

Dla liczb dodatnich można to rozumieć jako odrzucenie cyfr po przecinku.

Liczby ujemne

Przy liczbach ujemnych rzutowanie do int zwykle obcina część ułamkową w kierunku zera:

int(-5.96)  # -5

Nie jest to więc to samo co zaokrąglenie w dół matematyczne, które dla -5.96 dałoby -6.

Typowy błąd egzaminacyjny

Najczęstszy błąd to wybranie odpowiedzi 6, bo uczeń zakłada zaokrąglenie. W tym zadaniu poprawna odpowiedź to 5, ponieważ zastosowano rzutowanie na typ całkowity.