यदि मैं फ़्रांस/फ्रेश लोकेल में किसी नंबर को रूपांतरित करता हूं तो इसे हजारों विभाजक के रूप में स्थान का उपयोग करना चाहिए। यदि मैं कुछ अन्य पात्रों के साथ रिक्त स्थान को प्रतिस्थापित करने का प्रयास करता हूं, तो उसे कोई स्थान नहीं मिलता है।जावा फ़्रांस/फ़्रेंच लोकेल हजारों विभाजक अंतरिक्ष की तरह दिखता है लेकिन वास्तव में
String input = NumberFormat.getNumberInstance(Locale.FRANCE).format(123123123);
System.out.println("String after conversion in locale "+input);
input = input.replace(" ", ".");
System.out.println("After replace space with dot "+input);
आउटपुट
String after conversion in locale 123 123 123
After replace space with dot 123 123 123
तो हालांकि विभाजक अंतरिक्ष की तरह दिखता है यह कुछ अलग है। सटीक चरित्र क्या है? मैं input.replace() में उस वर्ण को कैसे निर्दिष्ट कर सकता हूं ताकि मैं इसे डॉट के साथ बदल सकूं?
क्यों एक नंबर फ़ॉर्मेटर एक बिंदु का उपयोग करता है के लिए सेट नहीं इस प्रकार है? –
@mlk मेरा कोड फ़्रांस स्वरूपित स्ट्रिंग प्राप्त करता है। मैं इसे बदलना चाहता हूँ। तो यह कोड सिर्फ पूरे प्रवाह दिखा रहा है। –
मैं इसे एक संख्या में परिवर्तित करने के लिए बहुत मोहक होगा (जैसा कि आप इसके साथ काम कर रहे हैं) फिर इसे स्ट्रिंग मैनिपुलेशन करने के बजाए प्रारूप में एक स्ट्रिंग में कनवर्ट करें। यह स्ट्रिंग्स का उपयोग करने के विरोधी पैटर्न के बहुत करीब महसूस करता है जब वस्तुओं को और अधिक समझ में आता है। –