একটি ফ্লোটিং পয়েন্ট সংখ্যা হলো এমন একটি সংখ্যা যার দশমিক বিন্দুর পরে শূন্য বা তার বেশি ডিজিট থাকে। যেমন -2.4, 0.1, 3.14, 16.984025 এবং 1024.0।
F#-এ তিনটি ফ্লোটিং পয়েন্ট টাইপ আছে:
single: ৪ বাইট (প্রায় ৬-৯ ডিজিটের প্রিসিশন)। 2.45f হিসেবে লেখা হয়।float: ৮ বাইট (প্রায় ১৫-১৭ ডিজিটের প্রিসিশন)। এটি সবচেয়ে কমন টাইপ। 2.45 হিসেবে লেখা হয়।decimal: ১৬ বাইট (২৮-২৯ ডিজিটের প্রিসিশন)। সাধারণত আর্থিক ডেটা নিয়ে কাজ করার সময় এটি ব্যবহার করা হয়, কারণ এর প্রিসিশন কম রাউন্ডিং এরর তৈরি করে। 2.45m হিসেবে লেখা হয়।ভিন্ন ভিন্ন ফ্লোটিং পয়েন্ট টাইপ দশমিক বিন্দুর পরে ভিন্ন সংখ্যক ডিজিট সংরক্ষণ করতে পারে, একেই তার প্রিসিশন বলা হয়। এর মানে হলো, single-এ পাই সংরক্ষণ করার চেষ্টা করলে শুধু প্রথম ৬ থেকে ৯টি ডিজিট সংরক্ষিত হবে (শেষ ডিজিটটি রাউন্ড করা হয়)।
এই অনুশীলনীতে আপনি সেভিংস অ্যাকাউন্ট নিয়ে কাজ করবেন। প্রতি বছর আপনার সেভিংস অ্যাকাউন্টের ব্যালেন্স তার সুদের হার অনুযায়ী আপডেট করা হয়। আপনার ব্যাংক আপনাকে যে সুদের হার দেয়, তা আপনার অ্যাকাউন্টে থাকা টাকার পরিমাণের (অর্থাৎ এর ব্যালেন্সের) ওপর নির্ভর করে:
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টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।