Se si converte un numero in locale francese/francese, è necessario utilizzare lo spazio come separatore delle migliaia. Se provo a sostituire gli spazi con altri caratteri, non trova spazio.Java FRANCE/FRENCH Il separatore delle migliaia di impostazioni internazionali assomiglia allo spazio ma non in realtà
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);
USCITA
String after conversion in locale 123 123 123
After replace space with dot 123 123 123
Quindi, anche se si presenta come separatore spazio è qualcosa di diverso. Qual è il carattere esatto? Come posso specificare quel carattere in input.replace() in modo che possa sostituirlo con punto?
Perché non istituire un numero formattatore che utilizza un punto? –
@mlk il mio codice riceve una stringa formattata FRANCE. Voglio convertirlo. Quindi questo codice è solo mostrare tutto il flusso. –
Sarei molto tentato di convertirlo in un numero (dato che questo è quello con cui stai lavorando) quindi convertirlo in una stringa nel formato che desideri invece di manipolare le stringhe. Sembra troppo vicino al pattern anti di usare le stringhe quando gli oggetti avrebbero più senso. –