أساسيات تحويل أنواع البيانات
جزء من قسم 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")يعد تحويل الأرقام إلى أحرف أمراً مفيداً عندما تحتاج إلى دمجها مع نصوص أخرى أو عندما تتطلب دالة ما إدخالاً نصياً بشكل محدد. تعد دوال التحويل هذه هي أدواتك للتنقل بين أنواع البيانات كلما احتاج برنامجك لذلك.
التحدي
سهلاقرأ قيمتين عدديتين كمدخلات، وقم بإجراء عملية حسابية، ثم اعرض النتيجة مع تسمية توضيحية.
ستتلقى مدخلين:
- السعر (كسلسلة نصية)
- الكمية (كسلسلة نصية)
قم بتحويل كلا المدخلين إلى قيم عددية باستخدام 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"يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الثاني
المعاملات المنطقية (AND, OR)المعاملات المنطقية - الجزء الثاني (NOT)مراجعة - المنطق البسيطالمنطق المتجهي - الجزء الأولالمنطق المتجهي - الجزء الثاني2المتغيرات وأنواع البيانات
نوع البيانات الرقمينوع البيانات الصحيحنوع البيانات الحرفينوع البيانات المنطقيالتحقق من أنواع البياناتقواعد التسميةالقيم المفقودة: NAملخص - إنشاء المتغيرات8الحلقات التكرارية
حلقة Forحلقة Whileجملة Breakجملة Next (Continue)مراجعة - المضروب (Factorial)توليد المتتاليات (seq, :)الحلقات المتداخلةمراجعة - الإدخال الديناميكي (Dynamic Input)3المعاملات - الجزء الأول
المعاملات الحسابيةقسمة الأعداد الصحيحة وباقي القسمةمعاملات الإسنادملخص - عمليات رياضية بسيطةمعاملات المقارنة6أساسيات الإدخال والإخراج
طباعة المخرجاتاستخدام Cat للمخرجاتالمخرجات مع المتغيراتقراءة المدخلات باستخدام readline()أساسيات تحويل أنواع البياناتمراجعة - حاسبة العمرمراجعة - صح أم خطأ