Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用java将逗号(,)替换为点(.)_Java_String - Fatal编程技术网

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

如何使用java将逗号(,)替换为点(.),java,string,Java,String,我有一个字符串str=12,12 对于十进制数计算,我想将(逗号)替换为。(点), 目前我正在尝试: if( str.indexOf(",") != -1 ) { str.replaceAll(",","\\."); } 请帮忙 str = str.replace(',', '.') 应该这样做。只需使用replace而不是replaceAll(需要正则表达式): 或 (replace将char或CharSequence作为输入,这是由String实现的接口) 还要注意,您应

我有一个
字符串str=12,12
对于十进制数计算,我想将(逗号)替换为。(点), 目前我正在尝试:

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

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

应该这样做。

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

replace
char
CharSequence
作为输入,这是由
String
实现的接口)

还要注意,您应该重新分配结果

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

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

只需使用
str.replace(',','。)
-在替换单个字符时,它既快速又高效。如果逗号不存在,它将不起任何作用。

您的问题不在于匹配/替换,而在于该字符串是不可变的,您需要分配结果:

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

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

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

在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

希望对您有所帮助。

如果您想更改它,因为您来自欧洲,并且希望使用点而不是逗号来使用扫描仪读取输入,您可以这样做:

Scanner sc = new Scanner(System.in);
sc.useLocale(Locale.US);
System.out.println(sc.locale().getDisplayCountry());

此:
“\。”
将不会编译。您知道该方法不会修改字符串,但会返回修改后的字符串,对吗?问题在于可能存在重复的字符串。
String str = " 12,12"
str = str.replaceAll("(\\d+)\\,(\\d+)", "$1.$2");
System.out.println("str:"+str); //-> str:12.12
Scanner sc = new Scanner(System.in);
sc.useLocale(Locale.US);
System.out.println(sc.locale().getDisplayCountry());