2011-10-23 18 views
5

मैं एक फाइल को पार्स कर रहा हूं जिसमें हजारों को अलग करने के लिए कॉमा का उपयोग करके पूर्णांक मान हैं।ग्रोवी कन्वर्ट स्ट्रिंग "1,503" इंटीजर

String s = "1,503" 
Integer i = new Integer(s) 

काम नहीं करता है, एक पार्स अपवाद फेंकता है। क्या इसका विश्लेषण करने का कोई आसान तरीका है?

धन्यवाद

उत्तर

6

उपयोग NumberFormat बजाय। उदाहरण के लिए, जावा में:

import java.util.*; 
import java.text.*; 

public class Test { 
    public static void main(String args[]) throws ParseException { 
     NumberFormat format = NumberFormat.getIntegerInstance(Locale.US); 
     Long parsed = (Long) format.parse("1,234"); 
     System.out.println(parsed); 
    } 
} 

(इसके बाद आप निश्चित रूप से Long से पूर्णांक मान, मिल सकती है।)

मैं स्पष्ट रूप से Locale.US निर्दिष्ट किया है गारंटी नहीं है कि अल्पविराम हज़ार विभाजक के रूप में प्रयोग किया जाता है; यदि इनपुट भिन्न हो सकता है तो आप एक अलग लोकेल का उपयोग करना चाह सकते हैं।

+0

बहुत बढ़िया जॉन, धन्यवाद का उपयोग करेगा। – Ray

7

थोड़ा और अधिक groovy विधि हो सकता है;

int a = java.text.NumberFormat.instance.parse('1,234') 

लेकिन यह डिफ़ॉल्ट स्थान

+0

वह ग्रोवी है, धन्यवाद टिम – Ray

+0

फंकी ..........! –

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