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.
Wyzwanie
ŁatwyNapisz 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
}
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory – część 1
Operatory arytmetyczneOperator moduloPrzypisanie z operatoremOperatory porównaniaPowtórka – proste działania matematyczne7Podstawowe wejście/wyjście
Funkcja printlnSzablony ciągów znakówWczytywanie danych przez ReadLineKonwersja typówPowtórka — lata do emeryturyPowtórka — prawda czy fałsz10Funkcje
Deklarowanie funkcjiParametry i argumentyWartości zwracaneArgumenty nazwaneWartości domyślneFunkcje z pojedynczym wyrażeniemPowtórka – funkcja SigmaPowtórka – funkcja walidująca2Zmienne
Val a VarWnioskowanie o typieLiczbyŁańcuch znakówWartość logicznaKonwencje nazewnictwaPowtórzenie – inicjalizacja zmiennych5Operatory, część 2
Operatory logiczne, część 1Operatory logiczne, część 2Operatory logiczne, część 3Operator trójargumentowy z wyrażeniem ifPowtórka — prosta logika8Kalkulator podziału rachunku
Wiadomość powitalnaPobieranie danych11FizzBuzz z niespodzianką
Omówienie gryFunkcja FizzBuzz3Obsługa wartości null
Czym jest bezpieczeństwo nullTypy dopuszczające nullOperator bezpiecznego wywołaniaOperator ElvisPodstawy wyzwania z funkcjamiAsercja wartości niebędącej nullPodsumowanie — bezpieczny dostęp6Podejmowanie decyzji
Instrukcja ifIf - elseIf jako wyrażenieWyrażenie whenWhen z zakresamiPowtórka — prosty kalkulator9Pętle
Pętla forPętla whilePętla do-whileBreakContinueZakresy w pętlachPętla zagnieżdżonaPowtórka – silniaPowtórka – dynamiczne wprowadzanie danychPoćwicz samodzielnie: Edytor online Kotlin