Menu
Coddy logo textTech

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.

challenge icon

Défi

Facile

Lisez 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
        
    }
}
quiz iconTestez-vous

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

Entraînez-vous par vous-même : Playground Swift