Konwersja float/double na int

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

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 int nie 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.