Conversion de types
Fait partie de la section Fondamentaux du Journey Ruby de Coddy — leçon 31 sur 88.
Lorsque vous lisez une entrée avec gets, Ruby retourne toujours une chaîne de caractères, même si l'utilisateur saisit un nombre. Cela devient un problème lorsque vous devez effectuer des calculs.
age = gets.chomp
puts age + 5Ce code provoquera une erreur car vous ne pouvez pas ajouter un nombre à une chaîne de caractères. Pour corriger cela, vous devez convertir la chaîne en un nombre en utilisant .to_i (vers un entier) ou .to_f (vers un flottant) :
age = gets.chomp.to_i
puts age + 5Maintenant, si l'utilisateur tape « 20 », le résultat sera 25. Utilisez .to_f lorsque vous avez besoin de nombres décimaux :
price = gets.chomp.to_f
puts price * 1.1Vous pouvez également reconvertir des nombres en chaînes de caractères en utilisant .to_s. Ceci est utile lorsque vous devez combiner des nombres avec du texte sans utiliser l'interpolation de chaîne :
count = 42
puts "Count: " + count.to_sDéfi
FacileLisez deux nombres saisis par l'utilisateur. La première entrée est un nombre entier (integer) et la deuxième entrée est un nombre décimal (float).
Calculez et affichez les éléments suivants sur des lignes séparées :
- La somme des deux nombres
- Le produit des deux nombres (multiplication)
Assurez-vous de convertir chaque entrée vers le type numérique approprié avant d'effectuer les calculs.
Par exemple, si les entrées sont 5 et 2.5, la sortie devrait être :
7.5
12.5Aide-mémoire
Lors de la lecture d'une entrée avec gets, Ruby retourne toujours une chaîne de caractères. Pour effectuer des calculs, convertissez les chaînes en nombres en utilisant .to_i (vers un entier) ou .to_f (vers un flottant) :
age = gets.chomp.to_i
puts age + 5Utilisez .to_f pour les nombres décimaux :
price = gets.chomp.to_f
puts price * 1.1Convertissez les nombres en chaînes de caractères en utilisant .to_s :
count = 42
puts "Count: " + count.to_sEssayez vous-même
# Lire l'entrée
integer_num = gets.chomp.to_i
float_num = gets.chomp.to_f
# À FAIRE : Écrivez votre code ci-dessous pour calculer la somme et le produit
# Afficher les résultats (imprimer la somme et le produit sur des lignes séparées)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 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Récapitulatif - Logique simpleOpérateurs logiques, partie 3Opérateurs logiques, partie 47Calculateur de partage de facture
Message de bienvenueSaisie de l'utilisateur10FizzBuzz avec une variante
Présentation du jeuLa méthode FizzBuzz2Variables et types de données
Nombres et variablesType de données StringType de données BooleanType de données SymbolVérification des types de donnéesConventions de nommageRécapitulatif - Création de variables5Prise de décision
Instruction IfIf - ElseRécapitulatif - Calculatrice simpleIf - Else imbriquésInstruction Unless8Boucles
Boucle For avec des intervallesBoucle WhileBreakNextRécapitulatif - FactorielleBoucle TimesBoucle UntilBoucles imbriquéesRécapitulatif - Entrée dynamique3Les opérateurs, partie 1
Opérateurs arithmétiquesOpérateur moduloRaccourcis arithmétiquesRécapitulatif - Calculs simplesOpérateurs de comparaison6Entrées/Sorties de base
Sortie avec putsSortie avec print et pSortie avec des variablesEntrée avec getsLa méthode chompConversion de typesRécapitulatif - Calculateur d'âgeRécapitulatif - Vrai ou Faux9Méthodes
Définir une méthodeParamètres de méthodeValeurs de retourRécapitulatif - Méthode SigmaRécapitulatif - Méthode de validationValeurs de paramètres par défaut12Itérer sur les collections
L'itérateur EachEach avec indexItérer sur les chaînes de caractèresMap et Collect