2008-09-30 38 views
11

क्या system.currency का उपयोग करना संभव है। यह कहता है कि इसके संरक्षण स्तर के कारण system.currency पहुंच योग्य नहीं है। मुद्रा का विकल्प क्या है।क्या मैं .NET में "System.Currency" का उपयोग कर सकता हूं?

+0

"और अधिक सटीक" है कि महत्वपूर्ण है, Retagged आप –

उत्तर

11

आप Decimal डेटा प्रकार ..

दशमलव कीवर्ड एक 128-बिट डेटा प्रकार को इंगित करता है का उपयोग करने के लिए है। फ़्लोटिंग-पॉइंट प्रकारों की तुलना में, दशमलव प्रकार में अधिक सटीकता और एक छोटी सी सीमा होती है, जो इसे वित्तीय और मौद्रिक गणनाओं के लिए उपयुक्त बनाता है।

+5

के लिए आप जानते हैं कि यह है नहीं है, यह परिशुद्धता के प्रकार है। दशमलव 10-आधार पैमाने पर आधारित होता है और हमेशा इसकी सीमा के भीतर एक दशमलव संख्या का प्रतिनिधित्व करेगा। फ्लोट प्रकार हालांकि बाइनरी स्केल पर आधारित होते हैं और एक अंश का वर्णन कर सकते हैं जो आधार 10 – nedruod

2

यह प्रतिबिंब लेकिन कारणों के माध्यम से संभव हो सकता है यह System.Decimal पर FromOACurrency() और ToOACurrency() स्थिर तरीकों के लिए देखते हैं कि, जो/ओले स्वचालन Currency प्रकार है कि विजुअल बेसिक 6 का उपयोग करता है से convering के लिए है।

7

दशमलव का उपयोग करें। मुद्रा प्रदान करने वाले सभी कार्य दशमलव, सेऑकुरेंसी, और ToOACurrency पर स्थिर तरीके हैं।

-3

आप वास्तव में मुद्रा के लिए दशमलव का उपयोग नहीं कर सकते हैं। जब आप विभाजित होते हैं तो आपको बाद में बड़ी समस्याएं आती हैं। कहें कि क्या आपके पास $ 1 में विभाजित है जो 1/3 = 0.33 (गोलाकार) है, लेकिन 3 x 0.33 = 0.99! = 1. यह छोटा हो सकता है, लेकिन जब आप इसे लेखांकन में करते हैं तो अपने चादरों को ढेर करते हैं, यह होगा एक विशाल आंकड़ा इसके अलावा नेट में डिफ़ॉल्ट गोलाकार अप/डाउन व्यवहार (अन्य प्रोग्रामिंग भाषाओं के बारे में निश्चित नहीं) अगले भी मूल्य के लिए है, जिसे बैंकरों के गोलाकार भी कहा जाता है, जो हमारे सामान्य "मानव" दौर की तुलना में लेखांकन में न्यूनतम त्रुटि के लिए होता है।

इस पृष्ठ को स्पष्ट स्पष्टीकरण और धन को संभालने के लिए एक विशेष कक्षा के लिए पढ़ें। Code Project : A Money type for the CLR

इसके अलावा के बारे में Rounding

+6

-1 का हिस्सा नहीं है क्योंकि यह उत्तर भ्रामक है। दशमलव एक डेटा प्रकार है जिसे विशेष रूप से पैसे को सही तरीके से स्टोर करने के लिए बनाया जाता है। गणना करना एक अलग तरह की समस्या है और संदर्भ पर निर्भर करता है: यदि आप पैसा खोए बिना समान शेयरों में पैसा विभाजित करना चाहते हैं, तो आपको एक समर्पित फ़ंक्शन/विधि/कक्षा का उपयोग करना चाहिए जो इसके लिए सही तरीके से करता है (http: // martinfowler देखें .com/eaaCatalog/money.html)। कोड प्रोजेक्ट पर निर्दिष्ट आलेख कुछ अमान्य मान्यताओं पर आधारित है: यह समझ में नहीं आता कि दशमलव को आधार 10 के रूप में संग्रहीत किया जाता है, परीक्षण जो दशमलव के साथ भी सफल होता है, लेकिन मानता है कि वे असफल हो जाएंगे। –

संबंधित मुद्दे

 संबंधित मुद्दे