- मुद्रा राशि को संभालना एक सामान्य computing कार्य है, लेकिन मुख्यधारा की programming languages में राशि को दर्शाने के लिए कोई मूल data type नहीं होता
- इससे installment payment, foreign exchange trading, fee processing और tax collection जैसे कार्यों में rounding समस्याएँ पैदा हो सकती हैं
- Money राशि की गणना और allocation को आसान बनाने में मदद करने वाली एक Kotlin लाइब्रेरी है
- यह राशि के mathematical operations, percentage calculations और allocation को support करती है, जिससे विभिन्न use cases को model किया जा सकता है
- यह cryptocurrency को भी default रूप से support करती है
- Allocation feature
- लाइब्रेरी की सबसे बड़ी खूबियों में से एक इसका allocation feature है
- यह राशि को कई हिस्सों में बाँटते समय यह सुनिश्चित करता है कि कुल मूल राशि के बराबर रहे
- उदाहरण के लिए, जब कोई ग्राहक USD 100.00 की खरीदारी का भुगतान तीन installments में करता है, तो rounding समस्या से होने वाले नुकसान को रोका जा सकता है
- Allocation method
allocate() method का उपयोग करके ऐसे परिणाम सुनिश्चित किए जाते हैं जिनमें मूल राशि से कोई अंतर न हो
- अनुपात के अनुसार allocation करने के लिए
Percentage values की list दी जाती है
- डिफ़ॉल्ट रूप से लाइब्रेरी अंतर को अपने आप allocate करती है, लेकिन इसे इच्छित allocation strategy के अनुसार समायोजित किया जा सकता है
- समापन
- यह लेख लाइब्रेरी की क्षमताओं का संक्षिप्त परिचय है
- API को संक्षिप्त बनाए रखते हुए Android development support तथा persistence और serialization सुविधाओं का धीरे-धीरे विस्तार करने की योजना है
- उम्मीद है कि मौजूदा version Kotlin projects में राशि को संभालने वाले लोगों के लिए उपयोगी होगा
GN⁺ का सार
- राशि को संभालना programming में एक सामान्य काम है, लेकिन rounding समस्याओं के कारण यह जटिल हो सकता है
- Money लाइब्रेरी इन समस्याओं को हल करने के लिए बनाई गई Kotlin लाइब्रेरी है, जो राशि की सटीक allocation और calculation को support करती है
- यह लाइब्रेरी 306 currencies और 2283 cryptocurrencies को support करती है, इसलिए Kotlin projects में राशि को संभालने के लिए उपयोगी है
- समान सुविधाओं वाले अन्य projects में Java की Joda-Money लाइब्रेरी आदि शामिल हैं
1 टिप्पणियां
Hacker News की राय
infix functions का उपयोग थोड़ा अजीब लगता है
plusऔरminusको overload करने के बजाय "increaseBy" और "decreaseBy" क्यों चुना गयालाइब्रेरी के लिए बधाई और इसे साझा करने के लिए धन्यवाद
इससे Rebol के money type की usability याद आती है
money handling के दौरान आने वाले edge cases पर सवाल
custom currencies के समर्थन को पसंद किया गया
यह अजीब है कि spreadsheet languages money को अच्छी तरह support नहीं करतीं
C# का decimal type money calculations के लिए उपयुक्त है
टिप्पणियों से बहुत कुछ सीखा गया, और यह लाइब्रेरी के अगले iteration में मदद करेगा
लाइब्रेरी से अधिक, ऐसी thorough test suite चाहिए जो सभी edge cases को संभाले
लगता है कि यह सभी requirements पूरी करता है, और money handling की मुख्य कठिनाइयों पर अच्छी चर्चा है