Menu
Coddy logo textTech

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 : 50

C'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.

challenge icon

Défi

Facile

Lisez deux valeurs numériques en entrée, effectuez un calcul et affichez le résultat avec une étiquette.

Vous recevrez deux entrées :

  1. Un prix (sous forme de chaîne de caractères)
  2. 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: 62

Aide-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 : 50

Modè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"
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