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)daje5, a nie6,int(5.1)daje5,int(5.999)również daje5.
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.