2012-11-01 13 views
5

मैं लोकेल का उपयोग करने से बचना चाहता हूं और इसके बजाय मुद्रा कोड का उपयोग करना चाहता हूं (आईएसओ 4217, जैसे "यूएसडी")। मैं समझता हूं कि मुद्रा कोड के साथ एक मुद्रा वर्ग कैसे सेट करें, हालांकि, मैं इस मुद्रा को एक नंबरफॉर्मैट कहने के लिए कैसे जोड़ सकता हूं ताकि मुद्रा में दोगुनी मुद्रा को प्रारूपित किया जा सके?मैं किसी नंबरफॉर्मैट में आईएसओ 4217 मुद्रा कोड कैसे खिला सकता हूं?

मैं संख्याफॉर्मेट और मुद्रा दोनों अलग-अलग समझता हूं, लेकिन मैं इन्हें वास्तविक मुद्रा तारों जैसे 4.00 -> $ 4.00 में युगल प्रारूपित करने के लिए कैसे जोड़ सकता हूं? मुझे नंबरफॉर्मैट का उपयोग करना होगा, क्योंकि मैं इस उदाहरण में $ 4 जैसे पूरे मुद्रा आंकड़े बनाने के लिए दशमलव स्थान छोड़ देता हूं।

आपकी मदद के लिए धन्यवाद, रयान

संपादित करें: उत्तर, .setCurrency, यह है कि मैं क्या NumberFormat में नोटिस नहीं किया था, doh! मैं मुद्रा के साथ नंबरफॉर्मैट बनाने पर बहुत ध्यान केंद्रित कर रहा था, लेकिन मैं संघर्ष कर रहा था क्योंकि आप केवल लोकेल से ही बना सकते हैं। इच्छा है कि मैंने पहले इस बारे में सोचा था। धन्यवाद! अगली बार मैं विधि सूची को बहुत करीब से पढ़ूंगा। मैं जानता हूं कि मुद्रा वर्ग का समर्थन करने के लिए नंबरफॉर्मैट था, इस फैशन में मुद्रा का उपयोग करने के लिए केवल यह समझ में आया।

+0

और कृपया मुद्रा के लिए डबल्स के उपयोग पर टिप्पणी न करें, मुझे परिशुद्धता की आवश्यकता नहीं है। धन्यवाद। – AutoM8R

उत्तर

3

इससे आपको मुद्रा की निकटतम पूरी इकाई को दी गई मुद्रा में राशि प्रदर्शित करने देनी चाहिए। मैंने इसका परीक्षण नहीं किया है लेकिन लगता है कि यह 9 5% सही है।

double amount = ...; 
String currencyCode = ...; 
Currency currency = Currency.getInstance(currencyCode); 
NumberFormat format = NumberFormat.getCurrencyInstance(); 
format.setMaximumFractionDigits(0); 
format.setCurrency(currency); 
String formattedAmount = format.format(amount); 
2

आप निम्नलिखित कोड की कोशिश की है:

NumberFormat nf = NumberFormat.getCurrencyInstance(); 
    String currencyCode = "USD"; 
    nf.setCurrency(Currency.getInstance(currencyCode)); 
    double currencyAmmount = 4.00; 
    String formattedValue= nf.format(currencyAmmount); 

कोड से ऊपर मैं $4.00 मिला है और मुझे लगता है यह आप क्या उम्मीद है।

मुझे लगता है कि NumberFormat.getInstance() के बजाय NumberFormat.getCurrencyInstance() का उपयोग करना सबसे महत्वपूर्ण बात है।

+0

धन्यवाद, एक और वैध जवाब। आपने बस इस तथ्य को याद किया कि मैं दशमलव को छोड़ रहा था। – AutoM8R

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