फ्लोटिंग-पॉइंट संख्या एक ऐसी संख्या होती है जिसके दशमलव विभाजक के बाद शून्य या अधिक अंक होते हैं।
उदाहरण हैं -2.4, 0.1, 3.14, 5., 16.984025 और 1024.0।
अलग-अलग फ्लोटिंग-पॉइंट टाइप, दशमलव विभाजक के बाद अलग-अलग संख्या में अंक रख सकते हैं। इसे ही उसकी परिशुद्धता कहा जाता है।
Go में दो फ्लोटिंग-पॉइंट टाइप हैं:
float32: 32 बिट (लगभग 6-9 अंकों की परिशुद्धता)।float64: 64 बिट (लगभग 15-17 अंकों की परिशुद्धता)।
यह डिफ़ॉल्ट फ्लोटिंग-पॉइंट टाइप है।जैसा कि देखा जा सकता है, दोनों टाइप अलग-अलग संख्या में अंक रख सकते हैं।
इसका मतलब है कि PI को float32 में रखने की कोशिश करने पर केवल पहले 6 से 9 अंक ही रखे जाएँगे (आखिरी अंक को राउंड करके)।
डिफ़ॉल्ट रूप से, Go में फ्लोटिंग-पॉइंट संख्याओं के लिए float64 इस्तेमाल होता है, सिवाय इसके कि फ्लोटिंग-पॉइंट संख्या:
float32 टाइप के वेरिएबल को असाइन किया जाता है, याfloat32 रिटर्न टाइप वाले फंक्शन से लौटाया जाता है, याfloat32() फंक्शन को आर्गुमेंट के रूप में पास किया जाता है।math package में कई उपयोगी गणितीय फंक्शन होते हैं।
इस अभ्यास में आप बचत खातों के साथ काम करेंगे। हर साल आपके बचत खाते का बैलेंस उसकी ब्याज दर के हिसाब से बदल जाता है। आपका बैंक आपको कितनी ब्याज दर देता है, यह आपके खाते में मौजूद रकम (यानी उसके बैलेंस) पर निर्भर करता है:
0 डॉलर से कम बैलेंस पर 3.213% (बैलेंस और ज़्यादा ऋणात्मक हो जाता है)।0 डॉलर के बराबर या उससे अधिक, और 1000 डॉलर से कम बैलेंस पर 0.5%।1000 डॉलर के बराबर या उससे अधिक, और 5000 डॉलर से कम बैलेंस पर 1.621%।5000 डॉलर के बराबर या उससे अधिक बैलेंस पर 2.475%।आपके सामने चार कार्य हैं, और हर कार्य में आपको बैलेंस और उसकी ब्याज दर पर काम करना है।
दिए गए बैलेंस के आधार पर ब्याज दर निकालने के लिए InterestRate() फंक्शन बनाइए:
InterestRate(200.75)
// => 0.5
ध्यान दीजिए कि लौटाई गई वैल्यू float32 होती है।
दिए गए बैलेंस के आधार पर ब्याज निकालने के लिए Interest() फंक्शन बनाइए:
Interest(200.75)
// => 1.003750
ध्यान दीजिए कि लौटाई गई वैल्यू float64 होती है।
ब्याज दर को ध्यान में रखते हुए सालाना बैलेंस बदलाव निकालने के लिए AnnualBalanceUpdate() फंक्शन बनाइए:
AnnualBalanceUpdate(200.75)
// => 201.75375
ध्यान दीजिए कि लौटाई गई वैल्यू float64 होती है।
लक्ष्य बैलेंस तक पहुँचने के लिए कम से कम कितने साल लगेंगे, यह निकालने के लिए YearsBeforeDesiredBalance() फंक्शन बनाइए। ध्यान रखिए कि हर साल बैलेंस में ब्याज जोड़ा जाता है।
इसका मतलब है कि एक साल बाद का बैलेंस होता है: शुरुआती बैलेंस + शुरुआती बैलेंस पर मिलने वाला ब्याज।
दूसरे साल के बाद का बैलेंस होता है: एक साल बाद का बैलेंस + उस बैलेंस पर मिलने वाला ब्याज।
और इसी तरह, जब तक कि उस साल का बैलेंस लक्ष्य बैलेंस के बराबर या उससे अधिक न हो जाए।
balance := 200.75
targetBalance := 214.88
YearsBeforeDesiredBalance(balance, targetBalance)
// => 14
ध्यान दीजिए कि लौटाई गई वैल्यू int होती है।
Exercism पर साइन अप कीजिए और Go को 34 कॉन्सेप्ट166 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।