Menu
Coddy logo textTech

Konwersja typów

Część sekcji Podstawy ścieżki Kotlin w Coddy. Lekcja 38 z 93.

Ponieważ readLine() zwraca wartość typu nullable string (null na końcu danych wejściowych), musisz przekonwertować te dane, gdy chcesz pracować z liczbami. Kotlin udostępnia funkcje konwersji, które przekształcają ciągi znaków na inne typy.

Aby przekonwertować ciąg znaków na liczbę całkowitą, użyj toInt():

fun main() {
    val input = readLine()!!
    val number = input.toInt()
    println(number + 10)
}

Jeśli użytkownik wpisze "5", program konwertuje tę wartość na liczbę całkowitą 5, a następnie dodaje 10, aby uzyskać 15. Bez konwersji "5" + 10 łączy tekst i daje w wyniku "510". Wcześniejsza konwersja umożliwia dodawanie liczb.

W przypadku liczb dziesiętnych użyj toDouble():

fun main() {
    val price = readLine()!!.toDouble()
    println("With tax: ${price * 1.1}")
}

Możesz umieścić konwersję bezpośrednio po readLine()!!, aby kod był czytelniejszy. Inne przydatne konwersje to toLong() dla dużych liczb całkowitych oraz toBoolean() dla wartości logicznych.

Te konwersje zakładają, że dane wejściowe są prawidłowe. Jeśli ktoś wpisze „hello”, gdy oczekujesz liczby, program ulegnie awarii. Nauczysz się obsługiwać takie błędy później w kursie.

challenge icon

Wyzwanie

Łatwy

Napisz funkcję calculateFutureAge, która przyjmuje currentAge i yearsToAdd jako ciągi znaków i zwraca przyszły wiek jako liczbę całkowitą.

Przekonwertuj oba parametry będące ciągami znaków na liczby całkowite, dodaj je do siebie i zwróć wynik.

Parametry:

  • currentAge (String): Obecny wiek jako ciąg znaków (np. "25")
  • yearsToAdd (String): Liczba lat do dodania jako ciąg znaków (np. "10")

Zwraca: Sumę obu wartości jako liczbę całkowitą (Int)

Spróbuj swoich sił

fun calculateFutureAge(currentAge: String, yearsToAdd: String): Int {
    // Napisz kod tutaj
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Edytor online Kotlin