2014-07-14 5 views
8

मेरा आवेदन उपयोगकर्ता को ट्रैकिंग ट्रैकिंग के लिए विभिन्न मुद्राओं का चयन करने की अनुमति दे रहा है। मेरे पास एक लेबल है जो currecy प्रतीक के साथ राशि प्रदर्शित करता है। मैं NSNumberFormatter का उपयोग kCFNumberFormatterCurrencyStyle के साथ राशि स्ट्रिंग को प्रारूपित करने और लेबल में प्रदर्शित करने के लिए कर रहा हूं;NSNumberFormatter मुद्रा प्रतीक

numberFormatter = [[NSNumberFormatter alloc] init]; 
numberFormatter.numberStyle = kCFNumberFormatterCurrencyStyle; 
numberFormatter.currencyCode = @"EUR"; 

मेरा लक्ष्य अलग रंग के साथ मुद्रा प्रतीक प्रदर्शित करने के लिए है, इसलिए मैं NSAttributedString उपयोग कर रहा हूँ, 'प्रतीकों श्रृंखला मिल और इसे करने के लिए अलग-अलग विशेषताओं स्थापित करने के लिए कोशिश कर रहा। समस्या यह है कि फ़ॉर्मेटर गलत प्रतीक लौट जब मैं जिम्मेदार ठहराया स्ट्रिंग initilizing है:

किसी को भी पता है कि कैसे प्राप्त कर सकते हैं:

MLOG(@"internationalCurrencySymbol %@", numberFormatter.internationalCurrencySymbol); 
MLOG(@"currencySymbol %@", numberFormatter.currencySymbol); 
MLOG(@"currencyCode %@", numberFormatter.currencyCode); 

//logs: 
//USD 
//$ 
//EUR 

लेकिन जब लेबल स्क्रीन पर प्रदर्शित किया जाता है मैं सही यूरो मुद्रा प्रतीक को देखने के दिए गए मुद्रा कोड के लिए मुद्रा प्रतीक?

उत्तर

8

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

@"EUR" 
@"€" 
@"EUR" 

ध्यान दें कि अंतरराष्ट्रीय मुद्रा प्रतीक और मुद्रा प्रतीक स्थान आपके सिस्टम में सेट पर निर्भर करने लगते है। लेकिन आप आसानी से इस तरह फ़ॉर्मेटर हेतु स्थान बदल सकते हैं:

numberFormatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"de_DE"]; 

यह शायद लिए सबसे अच्छा होगा नहीं बिल्कुल currencySymbol निर्धारित किया है। फिर जब लोकेल कहता है, थाईलैंड (@"th_TH"), तो आपको

numberFormatter.internationalCurrencySymbol "THB" 
numberFormatter.currencySymbol    "฿" 
numberFormatter.currencyCode     "THB" 
+0

आपका वर्तमान लोकेल क्या है? –

+0

मैं देखता हूं, इसलिए यदि आप en_US में हैं, तो यह –

+0

गलत काम नहीं कर रहा है। ऊपर बताए अनुसार आप फॉर्मेटर के लिए लोकेल सेट कर सकते हैं। – Mundi

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