Menu
Coddy logo textTech

יסודות המרת טיפוסים

חלק מהיחידה יסודות במסלול ה-R של Coddy. שיעור 30 מתוך 78.

כפי שצוין בשיעור הקודם, readline() תמיד מחזירה מחרוזת תווים. אם משתמש מקליד "25", מתקבל הטקסט "25", ולא המספר 25. זה חשוב כי אי אפשר לבצע פעולות חשבון עם טקסט.

כדי להמיר מחרוזת תווים למספר, השתמשו ב־as.numeric():

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

cat(number + 8, "\n")  # פלט: 50

זה חיוני כשעובדים עם קלט מהמשתמש. הנה דפוס נפוץ שתשתמש בו:

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

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

אפשר גם להמיר בכיוון ההפוך באמצעות as.character():

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

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

המרת מספרים לתווים שימושית כשצריך לשלב אותם עם טקסט אחר או כשפונקציה דורשת במיוחד קלט של תווים. פונקציות ההמרה האלה הן הכלים שלך למעבר בין סוגי נתונים בכל פעם שהתוכנית שלך זקוקה לכך.

challenge icon

אתגר

קל

קראו שני ערכים מספריים כקלט, בצעו חישוב והציגו את התוצאה עם תווית.

תקבלו שני ערכי קלט:

  1. מחיר (כמחרוזת)
  2. כמות (כמחרוזת)

המירו את שני ערכי הקלט לערכים מספריים באמצעות as.numeric(), ואז חשבו את העלות הכוללת על ידי הכפלת המחיר בכמות.

הציגו את הפלט בפורמט הבא:

Total: [result]

השתמשו ב-cat() עבור הפלט וכללו תו של ירידת שורה \n בסוף.

לדוגמה, אם ערכי הקלט הם 15.50 ו-4, הפלט צריך להיות:

Total: 62

נסו בעצמכם

# קראו את הקלט
con <- file("stdin", "r")
price_str <- suppressWarnings(readLines(con, n = 1))
quantity_str <- suppressWarnings(readLines(con, n = 1))
close(con)

# TODO: כתבו את הקוד שלכם למטה
# 1. המירו את price_str ואת quantity_str לערכים מספריים באמצעות as.numeric()
# 2. חשבו את העלות הכוללת (price * quantity)
# 3. הציגו את התוצאה באמצעות cat() בפורמט "Total: [result]\n"
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: קומפיילר R אונליין