2011-09-28 15 views
7

मुझे वेब सेवा से एक स्वरूपित राशि मिल रही है। यह विभिन्न प्रारूपों में और विभिन्न मुद्राओं का उपयोग कर सकता है, उदा।स्वरूपित राशि से मुद्रा निकालें

  • $ 1.10
  • € 1,10
  • 1,10 €
  • EUR 1.10

मैं मुद्रा प्रतीक को निकालने के लिए चाहते हैं ((शायद, मैं नहीं यकीन है कि मैं वास्तव में इस एक का सामना करना पड़ेगा हूँ) $) इससे, और यदि संभव हो तो उस प्रतीक से संबंधित Currency ऑब्जेक्ट (जावा) प्राप्त करें। मुझे राशि निकालने की जरूरत नहीं है, मैं कहीं और प्राप्त कर सकता हूं।

java.util.Currency से
+0

स्वीकार किए जाते हैं तो यहाँ उत्तर देने में सहायता कर सकते हैं:: http://stackoverflow.com/questions/7116507/arbitrary-currency-string-get-all-parts-separated – Steve

उत्तर

0

getSymbol() विधि यह आपकी समस्या के लिए एक समाधान पेश कर सकती है मदद से आप मुद्रा प्रतीक

1

पाने के लिए आप Joda Money पर एक नजर है सकता है। सावधानी: यह अभी भी संस्करण 0.6

3

आप webservice से अपने परिणाम का विश्लेषण करने के लिए नियमित अभिव्यक्ति का उपयोग कर सकते हैं। संख्याओं, बिंदुओं और सफेद जगहों को छोड़कर, आपको सभी पात्रों को फ़िल्टर करना होगा।

String regexp = "[^0-9\\.,\\s]*"; 

मिलान परिणाम के पहले समूह मुद्रा प्रतीक (या नाम उदा EUR) है: यहाँ उस के लिए regex है।

public void test() throws Exception { 
    String text = "2.02 $"; 
    String regexp = "[^0-9\\.,\\s]*"; 
    Pattern p = Pattern.compile(regexp); 
    Matcher m = p.matcher(text); 
    while (m.find()) { 
     for (int i = 0; i < m.groupCount() + 1; i++) 
      LOG.info(m.group(i)); 
    } 
} 
+0

यहाँ मेरी नमूना विधि है 'थ्रो अपवाद 'के लिए +1 (' try/catch/system.out.printStackTrace' के बजाय) – michael667

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