2011-05-18 61 views
15

Estoy teniendo un String str = 12,12 quiero reemplazar la coma (,) con (Dot) para el cálculo del número decimal, Actualmente estoy tratando esto:Cómo sustituir coma (,) con un punto usando java

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

favor ayuda

+1

Sabe que el método no modifica la cadena, pero devuelve la modificada, ¿verdad? –

+0

posible duplicado de [java replaceAll()] (http://stackoverflow.com/questions/1092416/java-replaceall) –

Respuesta

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

debe hacer el truco.

14

sólo tiene que utilizar replace en lugar de replaceAll (que espera regex):

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

o

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

(replace toma como entrada ya sea char o CharSequence, que es una interfaz implementada por String)

También tenga en cuenta que debe reasignar gn el resultado

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

o incluso mejor

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

Esto: '" \. "' No compilará – MByD

+1

Tiene razón, editará en consecuencia –

1

sólo tiene que utilizar str.replace(',', '.') - es a la vez rápido y eficiente cuando un solo carácter se va a reemplazar. Y si la coma no existe, no hace nada.

+0

str. reemplaza todo(",","\\."); ¡Hizo el truco! : P – alpesh

42

Su problema no es con el partido/reemplazo, pero esa cadena es inmutable, es necesario asignar el resultado:

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

+1 Ese es el verdadero problema aquí. Buen trabajo. – Boro

+0

sí, pero él no necesita la parte de expresión regular. – Bozho

+0

exactamente ese es el problema. –

2

Para obtener la información actual que está dando, se enought con esta simple expresión regular hacer la sustitución:

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

en el src java se puede añadir una nueva herramienta como esta:

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

Utilice esta:

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

esperanza ayuda.

Cuestiones relacionadas