के साथ पार्सिंग संख्या क्या कोई मुझे समझा सकता है कि निम्न कोड इस आउटपुट को क्यों देता है?नकारात्मक प्रत्यय
1.2
null
निम्नलिखित कोड चल रहा है:
String positive = "1.2+";
String negative = "1.2-";
DecimalFormat format = new DecimalFormat("0.0");
format.setPositiveSuffix("+");
format.setNegativeSuffix("-");
format.setDecimalFormatSymbols(DecimalFormatSymbols.getInstance(Locale.US));
System.out.println(format.parse(positive, new ParsePosition(0)));
System.out.println(format.parse(negative, new ParsePosition(0)));
यह हालांकि काम करता है, लेकिन मैं पैटर्न की पुनरावृत्ति पसंद नहीं है:
String positive = "1.2+";
String negative = "1.2-";
DecimalFormat format = new DecimalFormat("0.0+;0.0-");
format.setDecimalFormatSymbols(DecimalFormatSymbols.getInstance(Locale.US));
System.out.println(format.parse(positive, new ParsePosition(0)));
System.out.println(format.parse(negative, new ParsePosition(0)));
नहीं करने के लिए इस्तेमाल किया जा करने का इरादा प्रत्यय है पार्स करने?
पार्स पूरी स्ट्रिंग का उपभोग करने की गारंटी नहीं है। जब यह एक चरित्र प्राप्त होता है तो यह रुक जाएगा, यह नहीं जानता कि इसके साथ क्या करना है। –
@ पीटर लेवर मुझे पता है, लेकिन मैंने सोचा कि मैंने यह बताया है कि जब मैं प्रत्यय सेट करता हूं तो क्या करना है? और यह क्यों संभालता है + लेकिन नहीं -? –
@ पीटर Lawrey मैं यह भी मानता हूं कि दूसरा कोड धीमा है, क्योंकि इसे पूरी स्ट्रिंग को दो बार पार्स करने की आवश्यकता होगी? –