जैसा कि this post में देखा गया है, आपको व्हाइटपर को मैन्युअल रूप से एक सेपरेटर के रूप में सेट करने की आवश्यकता है।
try {
String longString = "14 123";
DecimalFormat decimalFormat = new DecimalFormat(); // instead of NumberFormat, use DecimalFormat
DecimalFormatSymbols symbols = new DecimalFormatSymbols(new Locale("sv", "SE"));
symbols.setGroupingSeparator(' '); // set the whitespace manually as grouping seperator
decimalFormat.setDecimalFormatSymbols(symbols);
System.out.println(svSE.parse(longString));
} catch (ParseException ex) {
Logger.getLogger(Playground.class.getName()).log(Level.SEVERE, null, ex);
}
//> output is 14123
ईमानदार मैं एक छोटे से उलझन में हूँ हो सकता है, लेकिन मुझे लगता है मुद्दा है, कि तुम स्वरूपित तार की जरूरत
try {
long testNumber = 123987l;
NumberFormat swedishNumberFormat = NumberFormat.getInstance(new Locale("sv"));
//here I format the number into a String
String formatedString = swedishNumberFormat.format(testNumber);
System.out.println(formatedString); // result: "123 987"
// when parsing the formated String back into a number
System.out.println(swedishNumberFormat.parse(formatedString)); // result: "123987"
// but when parsing a non formated string like this one
System.out.println(swedishNumberFormat.parse("123 987")); // result "123"
} catch (ParseException ex) {
Logger.getLogger(Playground.class.getName()).log(Level.SEVERE, null, ex);
}
(जाहिरा तौर पर नहीं हर खाली स्थान के यहाँ एक ही है) कृपया अगर मैं यहां गलत हूं या मेरा उदाहरण काम नहीं करता है तो मुझे सही करें। मेरे पास कोई विचार नहीं है कि यह इस तरह की चीजें क्यों करता है, लेकिन ऊपर की तरह भ्रमित परिस्थितियों से बचने के लिए, आप विभाजक को मैन्युअल रूप से सेट करना चाहते हैं।
संपादित
रूप Joop Eggen उसकी answer में कहा गया है स्ट्रिंग एक सरल खाली स्थान के के बजाय एक कठिन, नॉन-ब्रेकिंग स्पेस ('\u00a0'
) का उपयोग करने की जरूरत है। यही कारण है कि मेरा उदाहरण अंतिम पंक्ति में "123" देता है (मैंने केवल सामान्य सफेद जगह का उपयोग किया)।
तो जावा में स्वीडिश लोकेल में एक बग? –
मेरे लिए यह प्रश्न और उत्तर नीचे के रूप में चिह्नित एक से बेहतर है। मुझे नहीं लगता कि यह सवाल बंद होना चाहिए। – Jayan