Co to jest konwersja float/double na int?
To zamiana liczby rzeczywistej, czyli takiej z częścią ułamkową, na liczbę całkowitą. W kontekście egzaminów najważniejsze jest to, że taka konwersja nie zaokrągla matematycznie, tylko odcina część ułamkową.
Dla liczby 5.96 po konwersji do typu całkowitego otrzymamy 5.
Jak to działa?
Jeżeli zmienna ma wartość:
- 5.96 → po konwersji na int daje 5
- 3.14 → daje 3
- -2.9 → daje -2
Oznacza to obcięcie części po przecinku, czyli tzw. truncation.
Przykłady
Python
x = 5.96
b = int(x)
print(b) # 5
C++
double x = 5.96;
int b = (int)x;
// b = 5
C
double x = 5.96;
int b = (int)x;
// b = 5
Java
double x = 5.96;
int b = (int)x;
// b = 5
Częsty błąd
Uczniowie często mylą konwersję z zaokrąglaniem:
- konwersja int(5.96) → 5
- zaokrąglenie round(5.96) → 6
To są dwie różne operacje.
Na co uważać na egzaminie?
- jeśli w kodzie jest
int(x)albo(int)x, zwykle chodzi o obcięcie części ułamkowej, - nie należy sugerować się zwykłą matematyką,
- wynik zapisany w zmiennej typu
intnie może zawierać części dziesiętnej.
Wniosek
W pokazanym zadaniu wartość 5.96 po konwersji do int daje 5, więc poprawna odpowiedź to D.