फ्लोटिंग पॉइंट संख्या ऐसी संख्या होती है जिसमें दशमलव चिह्न के बाद शून्य या उससे अधिक अंक होते हैं। उदाहरण हैं -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 डॉलर से कम के धनात्मक बैलेंस पर ब्याज दर 0.5% होती है।1000 डॉलर के बराबर या उससे अधिक और 5000 डॉलर से कम के धनात्मक बैलेंस पर ब्याज दर 1.621% होती है।5000 डॉलर के बराबर या उससे अधिक के धनात्मक बैलेंस पर ब्याज दर 2.475% होती है।हर साल सरकार आपको अपने पैसे का एक प्रतिशत कर-मुक्त दान में देने की अनुमति देती है। चूँकि आप एक अच्छे इंसान हैं, अगर साल के अंत में आपका बैलेंस धनात्मक रह जाता है, तो आप उस कर-मुक्त प्रतिशत को लेकर उसे दोगुना कर देते हैं और उसे नीचे की ओर निकटतम पूर्ण डॉलर तक पूर्णांकित कर देते हैं। दान के दूसरे हिस्से पर कर चुकाने में आपको कोई आपत्ति नहीं है।
आपके सामने तीन कार्य हैं, और हर कार्य आपके बैलेंस और उसकी ब्याज दर से जुड़ा है।
दिए गए बैलेंस के आधार पर ब्याज दर की गणना करने के लिए 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 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।