Bases de la conversion de types
Fait partie de la section Fondamentaux du Journey R de Coddy — leçon 30 sur 78.
Comme mentionné dans la leçon précédente, readline() renvoie toujours une chaîne de caractères. Si un utilisateur tape « 25 », vous obtenez le texte "25", pas le nombre 25. C'est important car vous ne pouvez pas faire de mathématiques avec du texte.
Pour convertir une chaîne de caractères en un nombre, utilisez as.numeric() :
input <- "42"
number <- as.numeric(input)
cat(number + 8, "\n") # Sortie : 50C'est essentiel lorsque vous travaillez avec des entrées utilisateur. Voici un modèle courant que vous utiliserez :
age_text <- readline()
age <- as.numeric(age_text)
cat("In 10 years, you will be", age + 10, "\n")Vous pouvez également effectuer la conversion dans le sens inverse en utilisant as.character() :
number <- 100
text <- as.character(number)
cat("The value is:", text, "\n")Convertir des nombres en caractères est utile lorsque vous avez besoin de les combiner avec d'autres textes ou lorsqu'une fonction nécessite spécifiquement une entrée de type caractère. Ces fonctions de conversion sont vos outils pour passer d'un type de données à un autre chaque fois que votre programme en a besoin.
Défi
FacileLisez deux valeurs numériques en entrée, effectuez un calcul et affichez le résultat avec une étiquette.
Vous recevrez deux entrées :
- Un prix (sous forme de chaîne de caractères)
- Une quantité (sous forme de chaîne de caractères)
Convertissez les deux entrées en valeurs numériques à l'aide de as.numeric(), puis calculez le coût total en multipliant le prix par la quantité.
Affichez la sortie au format suivant :
Total: [result]Utilisez cat() pour la sortie et incluez un caractère de nouvelle ligne \n à la fin.
Par exemple, si les entrées sont 15.50 et 4, la sortie doit être :
Total: 62Aide-mémoire
Utilisez as.numeric() pour convertir une chaîne de caractères en un nombre :
input <- "42"
number <- as.numeric(input)
cat(number + 8, "\n") # Sortie : 50Modèle courant pour convertir la saisie de l'utilisateur :
age_text <- readline()
age <- as.numeric(age_text)
cat("In 10 years, you will be", age + 10, "\n")Utilisez as.character() pour convertir un nombre en une chaîne de caractères :
number <- 100
text <- as.character(number)
cat("The value is:", text, "\n")Essayez vous-même
# Lire l'entrée
con <- file("stdin", "r")
price_str <- suppressWarnings(readLines(con, n = 1))
quantity_str <- suppressWarnings(readLines(con, n = 1))
close(con)
# À FAIRE : Écrivez votre code ci-dessous
# 1. Convertir price_str et quantity_str en valeurs numériques en utilisant as.numeric()
# 2. Calculer le coût total (price * quantity)
# 3. Afficher le résultat en utilisant cat() avec le format "Total: [result]\n"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 (AND, OR)Opérateurs logiques - Partie 2 (NOT)Récapitulatif - Logique simpleLogique vectorisée - Partie 1Logique vectorisée - Partie 27Calculateur de partage d'addition
Message de bienvenueRécupérer la saisie utilisateur10FizzBuzz avec une variante
Présentation du jeuLa fonction FizzBuzz2Variables et types de données
Type de données numériqueType de données entierType de données caractèreType de données logiqueVérification des types de donnéesConventions de nommageValeurs manquantes : NARécapitulatif - Création de variables8Boucles
Boucle ForBoucle WhileBreakSuivant (Continue)Récapitulatif - FactorielleGénération de séquences (seq, :)Boucles imbriquéesRécapitulatif - Saisie dynamique3Opérateurs, partie 1
Opérateurs arithmétiquesDivision entière et moduloOpérateurs d'affectationRécapitulatif - Mathématiques simplesOpérateurs de comparaison6Entrées/Sorties de base
Affichage avec PrintCat pour l'affichageAffichage avec des variablesLire l'entrée avec readline()Bases de la conversion de typesRécapitulatif - Calculateur d'âgeRécapitulatif - Vrai ou Faux9Fonctions
Déclarer une fonctionArguments de fonctionValeurs de retourRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validationValeurs de paramètres par défaut