Как заменить запятую (,) точкой (.) С помощью java

У меня есть String str = 12,12 Я хочу заменить, (запятую) на. (Dot) для вычисления десятичных чисел, В настоящее время я пытаюсь это сделать:

 if( str.indexOf(",") != -1 )
 {
     str.replaceAll(",","\\.");
 }

пожалуйста, помогите

Ответы

Ответ 1

Ваша проблема не в совпадении/замене, но что String неизменна, вам нужно назначить результат:

str = str.replaceAll(",","."); // or "\\.", it doesn't matter...

Ответ 2

Просто используйте replace вместо replaceAll (который ожидает регулярное выражение):

str = str.replace(",", ".");

или

str = str.replace(',', '.');

(replace принимает вход как char или CharSequence, который является интерфейсом, реализованным String)

Также обратите внимание, что вы должны переназначить результат

Ответ 3

str = str.replace(',', '.')

должен сделать трюк.

Ответ 4

if(str.indexOf(",")!=-1) { str = str.replaceAll(",","."); }

или даже лучше

str = str.replace(',', '.');

Ответ 5

Для текущей информации, которую вы даете, будет достаточно, чтобы это простое регулярное выражение выполнило замену:

str.replaceAll(",", ".");

Ответ 6

Просто используйте str.replace(',', '.') - он быстрый и эффективный, когда нужно заменить один символ. И если запятая не существует, она ничего не делает.

Ответ 7

в java src вы можете добавить новый инструмент, подобный этому:

public static String remplaceVirguleParpoint(String chaine) {
       return chaine.replaceAll(",", "\\.");
}

Ответ 8

Используйте это:

String str = " 12,12"
str = str.replaceAll("(\\d+)\\,(\\d+)", "$1.$2");
System.out.println("str:"+str); //-> str:12.12

надеюсь помочь вам.