如何使用java将点(。)替换为逗号(,)

我有一个String str = 12,12我想用(。逗号)替换。(点)进行十进制数计算,目前我正在尝试这个:

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

请帮忙

你的问题不在于匹配/替换,但是String是不可变的,你需要分配结果:

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

只需使用replace而不是replaceAll (期望正则表达式):

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

要么

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

replacecharCharSequence作为输入,这是String实现的接口)

另请注意,您应该重新分配结果

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

应该做的伎俩。

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

甚至更好

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

对于您提供的当前信息,这个简单的正则表达式将用于替换:

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

只需使用str.replace(',', '.') – 当要替换单个字符时,它既快又有效。 如果逗号不存在,则不执行任何操作。

在java src中你可以添加一个像这样的新工具:

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

用这个:

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

希望能帮助你。