عدد الفاصلة العائمة هو عدد يحتوي على صفر أو أكثر من الأرقام بعد الفاصلة العشرية. من أمثلته -2.4 و0.1 و3.14 و16.984025 و1024.0.
توفّر F# ثلاثة أنواع من أعداد الفاصلة العائمة:
single: 4 بايت (دقة تتراوح بين 6 و9 أرقام تقريبًا). يُكتب بالصيغة 2.45f.float: 8 بايت (دقة تتراوح بين 15 و17 رقمًا تقريبًا). هذا هو النوع الأكثر شيوعًا. يُكتب بالصيغة 2.45.decimal: 16 بايت (دقة تتراوح بين 28 و29 رقمًا). يُستخدم عادةً عند التعامل مع البيانات المالية، لأن دقته تؤدي إلى أخطاء تقريب أقل. يُكتب بالصيغة 2.45m.يمكن لأنواع أعداد الفاصلة العائمة المختلفة تخزين أعداد مختلفة من الأرقام بعد الفاصلة العشرية، وهذا ما يُعرف بالدقة. ويعني هذا أن محاولة تخزين PI في single ستخزّن أول 6 إلى 9 أرقام فقط (مع تقريب الرقم الأخير).
في هذا التمرين ستعمل مع حسابات التوفير. كل عام، يُحدَّث رصيد حساب التوفير الخاص بك بناءً على سعر الفائدة. سعر الفائدة الذي يمنحك إياه البنك يعتمد على مقدار المال الموجود في حسابك (رصيده):
1000 دولار.1000 دولار وأقل من 5000 دولار.5000 دولار.كل عام، تسمح لك الحكومة بالتبرع بنسبة مئوية من أموالك للجمعيات الخيرية معفاة من الضرائب. ولأنك شخص طيب، إذا أصبح رصيدك موجبًا في نهاية العام، فإنك تأخذ النسبة المعفاة من الضرائب وتضاعفها، مع التقريب نزولًا إلى أقرب دولار كامل. ولا تمانع في دفع الضريبة على النصف الثاني من التبرع.
لديك ثلاث مهام، تتعامل كل منها مع رصيدك وسعر الفائدة الخاص به.
نفّذ الدالة interestRate لحساب سعر الفائدة بناءً على الرصيد المحدد:
interestRate 200.75m
// => 0.5f
لاحظ أن القيمة المُرجَعة من النوع single.
نفّذ الطريقة interest لحساب الفائدة بناءً على الرصيد المحدد:
interest 200.75m
// => 1.00375m
لاحظ أن القيمة المُرجَعة من النوع decimal.
نفّذ الدالة annualBalanceUpdate لحساب التحديث السنوي للرصيد، مع مراعاة سعر الفائدة:
annualBalanceUpdate 200.75m
// => 201.75375m
لاحظ أن القيمة المُرجَعة من النوع decimal.
نفّذ الدالة amountToDonate لحساب مقدار المال الذي ستتبرع به للجمعيات الخيرية بناءً على الرصيد والنسبة المعفاة من الضرائب التي تسمح بها الحكومة:
let balance = 550.5m
let taxFreePercentage = 2.5
amountToDonate balance taxFreePercentage
// => 27
لاحظ أن القيمة المُرجَعة من النوع int.
سجّل في Exercism لتتعلّم وتتقن F# عبر 18 مفهومًا148 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.