Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

أساسيات تحويل أنواع البيانات

جزء من قسم Fundamentals في رحلة 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

ورقة مرجعية

استخدم 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")

جرّب بنفسك

# قراءة المدخلات
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. احسب التكلفة الإجمالية (السعر * الكمية)
# 3. اعرض النتيجة باستخدام cat() بالتنسيق "Total: [result]\n"
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Fundamentals