Rational وBigDecimal
حسابات دقيقة
Rational وBigDecimal درس مجاني في Ruby Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Ruby Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Ruby Academy 4 دروس في المجموع.
لماذا الحساب الدقيق؟
تفقد الأعداد العشرية بعض الدقة. وللتعامل مع الأموال والكسور، توفر Ruby النوعين Rational وBigDecimal اللذين يحافظان على الدقة.
puts 0.1 + 0.2إنشاء Rational
يمثل Rational كسرًا دقيقًا. اكتبوه باستخدام اللاحقة r أو باستخدام Rational(num, den).
puts (1r / 3)
puts Rational(2, 4)تبسيط Rationals تلقائيًا
تُبسّط Rationals تلقائيًا إلى أبسط صورة، لذلك يصبح 2/4 مساويًا لـ 1/2.
puts Rational(6, 8)
puts Rational(10, 5)حساب الكسور بدقة
يبقى جمع Rationals دقيقًا، بخلاف الأعداد العشرية. فثلث زائد ثلث زائد ثلث يساوي واحدًا تمامًا.
third = Rational(1, 3)
puts (third + third + third)البسط والمقام
اقرؤوا مكوّنَي الكسر باستخدام numerator وdenominator.
r = Rational(3, 4)
puts r.numerator
puts r.denominatorتحويل Rationals
يحوّل to_f القيمة النسبية إلى عدد عشري عند الحاجة إلى تقريب عشري.
puts Rational(1, 8).to_fتحميل BigDecimal
يتعامل BigDecimal مع الأعداد العشرية بدقة تامة، ولذلك فهو مثالي للتعامل مع الأموال. استوردوه أولًا من المكتبة القياسية.
require "bigdecimal"
a = BigDecimal("0.1")
b = BigDecimal("0.2")
puts (a + b).to_s("F")استخدموا السلاسل النصية دائمًا
أنشئوا قيم BigDecimal من السلاسل النصية، وليس من الأعداد العشرية العائمة، حتى لا تضيع الدقة قبل بدء العمليات.
require "bigdecimal"
good = BigDecimal("1.1")
puts good.to_s("F")حساب الأموال
يحافظ BigDecimal على دقة السنتات خلال العديد من العمليات.
require "bigdecimal"
price = BigDecimal("19.99")
qty = 3
total = price * qty
puts total.to_s("F")تقريب BigDecimal
تتحكم round على قيمة BigDecimal بدقة في عدد المنازل العشرية.
require "bigdecimal"
n = BigDecimal("2.675")
puts n.round(2).to_s("F")اختيار الأداة المناسبة
استخدموا Rational للكسور والنسب الدقيقة. واستخدموا BigDecimal للأموال العشرية الدقيقة. واستخدموا Float للعمليات العلمية السريعة عندما يكون الخطأ الطفيف مقبولًا.
require "bigdecimal"
puts Rational(1, 3)
puts BigDecimal("0.33").to_s("F")تحقق سريع
تحققوا من الحساب الدقيق.
مراجعة
لقد تعلمتم الحساب الدقيق:
- Rational للكسور الدقيقة التي تُبسَّط تلقائيًا
numeratorوdenominatorوto_f- BigDecimal من السلاسل النصية لإجراء حسابات مالية دقيقة
- اختيار النوع المناسب للمهمة
وبذلك تكتمل دورة Ruby Numbers and Math.
puts (Rational(1, 2) + Rational(1, 3))تعلم Ruby مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 29
- الدروس
- 109
الأسئلة الشائعة
هل درس «Rational وBigDecimal» مجاني؟
نعم — نص درس «Rational وBigDecimal» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Ruby Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Ruby Academy 4 دروس في المجموع.
ماذا ستتعلم في «Rational وBigDecimal»؟
حسابات دقيقة تتمرن على Ruby Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Ruby Academy؟
لا تُشترط خبرة سابقة. Ruby Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «Rational وBigDecimal»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Ruby Academy هذا؟
نعم. كل درس في Ruby Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- الأعداد الصحيحة والعشرية
- الحساب والمعاملات
- وحدة Math
- Rational وBigDecimal