Conversion de types
Fait partie de la section Fondamentaux du Journey Swift de Coddy. Leçon 34 sur 86.
Comme readLine() renvoie une String?, tu devras souvent convertir cette chaîne en nombre pour effectuer des calculs. Swift exige une conversion de type explicite. Il ne transformera pas automatiquement une chaîne en entier ou en nombre à virgule flottante.
Pour convertir une chaîne en entier, utilise l’initialiseur Int(). Comme la conversion peut échouer (la chaîne peut contenir des lettres au lieu de chiffres), elle renvoie une valeur optionnelle :
let input = "42"
if let number = Int(input) {
print(number + 10) // Sortie : 52
}Pour les nombres décimaux, utilisez Double() :
let priceString = "19.99"
if let price = Double(priceString) {
print(price * 2) // Sortie : 39.98
}Cela est particulièrement utile lorsque vous combinez readLine() avec des opérations numériques. Vous pouvez enchaîner le déballage :
if let input = readLine(), let age = Int(input) {
print("Next year you'll be \(age + 1)")
}La virgule dans l’instruction if let signifie que les deux conditions doivent être remplies : l’entrée doit exister et elle doit pouvoir être convertie en entier.
Défi
FacileLisez deux entrées : un nombre décimal sous forme de chaîne et un entier sous forme de chaîne. Convertissez-les vers leurs types numériques appropriés et calculez leur produit.
Vous recevrez les entrées suivantes :
- Première ligne : Un nombre décimal (par ex.,
"3.5") - Deuxième ligne : Un entier (par ex.,
"4")
Utilisez readLine() pour lire les deux entrées. Convertissez la première entrée en Double et la seconde en Int. Multipliez-les ensuite et affichez le résultat.
Utilisez if let avec une liaison optionnelle chaînée pour déballer en toute sécurité l’entrée et la valeur convertie.
Affichez : Le produit des deux nombres sous forme de Double
Essayez vous-même
// Lire le nombre décimal en tant que chaîne
if let decimalString = readLine() {
// Lire l'entier en tant que chaîne
if let intString = readLine() {
// TODO: Écrivez votre code ci-dessous
// Convertir decimalString en Double et intString en Int en utilisant if let
// Puis calculez et affichez leur produit
}
}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 composéeRécapitulatif - Mathématiques simplesOpérateurs de comparaison7Entrées/Sorties de base
Fonction PrintInterpolation de chaînesSaisie ReadLineConversion de typesRécapitulatif - Jusqu'à 120Récapitulatif - Vrai ou Faux10Fonctions
Déclarer une fonctionParamètres et argumentsValeurs de retourÉtiquettes d'argumentRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validationValeurs par défaut13Itération sur les séquences
Itérer sur les élémentsLa méthode d'énumérationItérer sur les chaînes P1Itérer sur les chaînes P22Variables
Let vs VarAnnotations de typeNombresStringsBooléensConventions de nommageRécapitulatif - Initialiser des variables5Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Récapitulatif - Logique simpleOpérateurs logiques, partie 3Opérateur ternaire8Calculateur de partage de facture
Message de bienvenueSaisie des données11FizzBuzz avec une variante
Présentation du jeuLa fonction FizzBuzz3Les Optionnels
Comprendre les optionnelsDéballage avec If LetL'instruction Guard LetOpérateur de fusion nilRécapitulatif - Déballage sécurisé6Prise de décision
L'instruction IfIf - ElseRécapitulatif - Calculatrice simpleL'instruction SwitchSwitch avec des intervalles9Boucles
Boucle For-InBoucle WhileBoucle Repeat-WhileBreakContinueRécapitulatif - FactorielleIntervalles dans les bouclesBoucles imbriquéesRécapitulatif - Entrée dynamiqueEntraînez-vous par vous-même : Playground Swift