2010-07-27 7 views
5

कई भाषाओं, जैसे कि .NET languages और Java अंतर्निहित मुद्रा स्वरूपण सुविधा के साथ आते हैं। वे क्या करते हैं एक संस्कृति-विशिष्ट संख्या प्रारूप का उपयोग करके एक संख्या प्रारूपित करते हैं और संस्कृति का मुद्रा प्रतीक जोड़ते हैं।क्या मुद्रा स्वरूपण कार्य वास्तव में उपयोगी हैं?

समस्या यह है कि संख्या प्रारूप मुद्रा प्रतीक के साथ दृढ़ता से जोड़ा जाता है। व्यावहारिक रूप से आसपास के पाठ की भाषा के लिए संख्या प्रारूप सही होना चाहिए, जबकि मुद्रा प्रतीक मुद्रा के बारे में बात की जानी चाहिए। उदाहरण के लिए, जर्मन में होने वाले दस्तावेज़ में यूएस डॉलर के बारे में बात करते समय आप अमेरिकी हज़ार सेपरेटर्स का उपयोग नहीं करेंगे।

क्या आप इस तरह के मुद्रा स्वरूपण कार्यों के लिए व्यावहारिक उपयोग के बारे में सोच सकते हैं, या वे पैसे उन्मुख प्रबंधन लोगों को प्रभावित करने के लिए मौजूद हैं?

+0

मुद्रा इकाई के लिए प्रतीक हमेशा विभाजक प्रतीक से जुड़ा हुआ है, या वे अलग-अलग हैं? PHP का 'money_format' फ़ंक्शन स्वरूपित स्ट्रिंग पर बहुत कड़े नियंत्रण की अनुमति देता है, जिसमें मुद्रा चिह्न को दबाने की क्षमता भी शामिल है। –

+0

क्या यह उन विभिन्न देशों के उपयोगकर्ताओं द्वारा उपयोग किए जाने वाले वैश्विक एप्लिकेशन के लिए उपयोगी नहीं है जो अपने स्थानीय प्रारूप में प्रदर्शित धन चाहते हैं? या क्या मैं इस बिंदु को याद कर रहा हूं? –

+0

@no: .NET आपको मुद्रा प्रतीक बदलने की अनुमति देता है (हालांकि कोड की कुछ पंक्तियां लेती हैं, जो कि स्वच्छ प्रारूप स्ट्रिंग से एक कदम दूर है। कुछ संदर्भों में आपको केवल एक प्रारूप स्ट्रिंग निर्दिष्ट करने की अनुमति है) । मुझे जावा में ऐसा करने का कोई तरीका नहीं मिला, लेकिन मैं बिल्कुल जावा विशेषज्ञ नहीं हूं इसलिए मैं निश्चित रूप से नहीं कह सकता। –

उत्तर

1

कम से कम .NET में संख्या प्रारूप एक संस्कृति से बंधे हैं, प्रतीक नहीं। डिफ़ॉल्ट मुद्रा प्रतीक उस संस्कृति से जुड़ा प्राथमिक है। प्रतीक आवश्यकतानुसार ओवरराइड किया जा सकता है।

अपने उदाहरण की तरह, यदि मैं एक स्ट्रिंग में मुद्रा मान एम्बेड कर रहा हूं तो मैं प्रारूप के लिए स्ट्रिंग की संस्कृति का उपयोग करता हूं, लेकिन मुद्रा चिह्न को उचित रूप से ओवरराइड करता हूं। शेष स्वरूपण को छोड़ दिया गया है।

दूसरी तरफ यदि मैं एक रिपोर्ट कर रहा हूं तो सभी मान एक ही संस्कृति का उपयोग करके स्वरूपित किए गए हैं। मैं सामान्य रूप से इस मामले में मुद्रा प्रतीकों के बजाय आईएसओ 3-वर्ण कोड का उपयोग करता हूं, विशेष रूप से यदि फ़ॉन्ट समस्याओं से बचने के लिए 2 से अधिक मुद्राएं शामिल हैं।

Ryan's answer to another question सी # में मुद्रा स्वरूपण के लिए सर्वोत्तम अभ्यास कैसे और कैसे वर्णन करता है इसका वर्णन करता है।

+0

मुद्रा प्रतीक बदलना एक अच्छा बिंदु है, हालांकि इसे किसी ऐसे चीज़ के लिए बहुत भयानक कोड की आवश्यकता है जो IMHO प्रारूप पैरामीटर का हिस्सा होना चाहिए। गलत आकार ($ 50 बनाम 50 केआर) पर प्रदर्शित मुद्रा प्रतीकों के साथ समस्याओं में भागना भी आसान है, यह उल्लेख न करें कि कुछ मुद्राएं वास्तव में लोकेल (€ 50 बनाम 50 €) –

+1

के आधार पर आदेश बदलती हैं, मैंने एक लिखना समाप्त कर दिया सभी ड्रज काम को संभालने के लिए 'दशमलव' पर विस्तार विधि, कुछ हद तक जॉन स्कीट के उदाहरण के समान: http://stackoverflow.com/questions/1071273/currency-formatting/1071302#1071302 – devstuff

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