Conversion de type
Fait partie de la section Fondamentaux du Journey Kotlin de Coddy. Leçon 38 sur 93.
Comme readLine() renvoie une chaîne nullable (null à la fin de l’entrée), tu devras convertir cette entrée lorsque tu voudras travailler avec des nombres. Kotlin fournit des fonctions de conversion pour transformer des chaînes en d’autres types.
Pour convertir une chaîne en entier, utilisez toInt() :
fun main() {
val input = readLine()!!
val number = input.toInt()
println(number + 10)
}Si l’utilisateur saisit "5", le programme le convertit en entier 5, puis ajoute 10 pour obtenir 15. Sans conversion, "5" + 10 concatène du texte et produit "510". Convertir d’abord permet d’effectuer une addition numérique.
Pour les nombres décimaux, utilisez toDouble() :
fun main() {
val price = readLine()!!.toDouble()
println("With tax: ${price * 1.1}")
}Vous pouvez enchaîner la conversion directement après readLine()!! pour obtenir un code plus clair. D’autres conversions utiles incluent toLong() pour les grands nombres entiers et toBoolean() pour les valeurs booléennes.
Ces conversions supposent que l’entrée est valide. Si quelqu’un saisit « hello » alors que vous attendez un nombre, le programme plantera. Vous apprendrez à gérer ce type d’erreurs plus tard dans le cours.
Défi
FacileÉcris une fonction calculateFutureAge qui prend currentAge et yearsToAdd sous forme de chaînes et renvoie l’âge futur sous forme d’un entier.
Convertis les deux paramètres chaîne en entiers, additionne-les et renvoie le résultat.
Paramètres :
currentAge(String) : l’âge actuel sous forme de chaîne (par ex., "25")yearsToAdd(String) : le nombre d’années à ajouter sous forme de chaîne (par ex., "10")
Renvoie : la somme des deux valeurs sous forme d’un entier (Int)
Essayez vous-même
fun calculateFutureAge(currentAge: String, yearsToAdd: String): Int {
// Écrivez le code ici
}
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Opérateurs, partie 1
Opérateurs arithmétiquesOpérateur moduloAffectation augmentéeOpérateurs de comparaisonRécapitulatif - Mathématiques simples7E/S de base
Fonction PrintlnModèles de chaînesEntrée ReadLineConversion de typeRécapitulatif - Années avant la retraiteRécapitulatif - Vrai ou faux10Fonctions
Déclarer une fonctionParamètres et argumentsValeurs de retourArguments nommésValeurs par défautFonctions à expression uniqueRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validation2Variables
Val ou VarInférence de typeNombresChaîne de caractèresBooléenConventions de nommageRécapitulatif - Initialiser des variables5Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Opérateurs logiques, partie 3Ternaire avec une expression ifRécapitulatif - Logique simple8Calculateur de partage d’addition
Message de bienvenueSaisie des données11FizzBuzz avec une variante
Aperçu du jeuLa fonction FizzBuzz3Nullabilité
Qu’est-ce que la sécurité vis-à-vis de nullTypes nullableOpérateur d’appel sécuriséOpérateur ElvisBases des défis de fonctionsAssertion de non-nullitéRécapitulatif - Accès sécurisé6Prise de décision
Instruction IfIf - ElseIf comme expressionExpression WhenWhen avec des plagesRécapitulatif - Calculatrice simple9Boucles
Boucle ForBoucle WhileBoucle Do-WhileBreakContinuePlages dans les bouclesBoucle imbriquéeRécapitulatif - FactorielleRécapitulatif - Entrée dynamiqueEntraînez-vous par vous-même : Playground Kotlin