Menu
Coddy logo textTech

Grundlagen der Typumwandlung

Teil des Abschnitts Grundlagen der R-Journey von Coddy — Lektion 30 von 78.

Wie in der vorherigen Lektion erwähnt, gibt readline() immer eine Zeichenkette zurück. Wenn ein Benutzer "25" eingibt, erhalten Sie den Text "25", nicht die Zahl 25. Das ist wichtig, da man mit Text keine Berechnungen durchführen kann.

Um eine Zeichenkette in eine Zahl umzuwandeln, verwenden Sie as.numeric():

input <- "42"
number <- as.numeric(input)

cat(number + 8, "\n")  # Ausgabe: 50

Dies ist wichtig bei der Arbeit mit Benutzereingaben. Hier ist ein gängiges Muster, das Sie verwenden werden:

age_text <- readline()
age <- as.numeric(age_text)

cat("In 10 years, you will be", age + 10, "\n")

Sie können mit as.character() auch in die entgegengesetzte Richtung konvertieren:

number <- 100
text <- as.character(number)

cat("The value is:", text, "\n")

Das Umwandeln von Zahlen in Zeichen ist nützlich, wenn Sie diese mit anderem Text kombinieren müssen oder wenn eine Funktion ausdrücklich eine Zeicheneingabe erfordert. Diese Konvertierungsfunktionen sind Ihre Werkzeuge, um zwischen Datentypen zu wechseln, wann immer Ihr Programm es erfordert.

challenge icon

Aufgabe

Einfach

Lesen Sie zwei numerische Werte als Eingabe ein, führen Sie eine Berechnung durch und zeigen Sie das Ergebnis mit einer Beschriftung an.

Sie erhalten zwei Eingaben:

  1. Einen Preis (als String)
  2. Eine Menge (als String)

Konvertieren Sie beide Eingaben mit as.numeric() in numerische Werte und berechnen Sie dann die Gesamtkosten, indem Sie den Preis mit der Menge multiplizieren.

Geben Sie das Ergebnis im folgenden Format aus:

Total: [result]

Verwenden Sie cat() für die Ausgabe und fügen Sie am Ende ein Zeilenumbruchzeichen \n hinzu.

Wenn die Eingaben zum Beispiel 15.50 und 4 sind, sollte die Ausgabe wie folgt aussehen:

Total: 62

Spickzettel

Verwenden Sie as.numeric(), um eine Zeichenkette in eine Zahl umzuwandeln:

input <- "42"
number <- as.numeric(input)

cat(number + 8, "\n")  # Ausgabe: 50

Gängiges Muster zur Konvertierung von Benutzereingaben:

age_text <- readline()
age <- as.numeric(age_text)

cat("In 10 years, you will be", age + 10, "\n")

Verwenden Sie as.character(), um eine Zahl in eine Zeichenkette umzuwandeln:

number <- 100
text <- as.character(number)

cat("The value is:", text, "\n")

Probier es selbst

# Eingabe lesen
con <- file("stdin", "r")
price_str <- suppressWarnings(readLines(con, n = 1))
quantity_str <- suppressWarnings(readLines(con, n = 1))
close(con)

# TODO: Schreiben Sie Ihren Code unten
# 1. Konvertieren Sie price_str und quantity_str mit as.numeric() in numerische Werte
# 2. Berechnen Sie die Gesamtkosten (price * quantity)
# 3. Zeigen Sie das Ergebnis mit cat() im Format "Total: [result]\n" an
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen