[英]How to replace comma (,) with a dot (.) using java
我有一個String str = 12,12
我想用 .(Dot) 替換 ,(comma) 進行十進制數計算,目前我正在嘗試這個:
if( str.indexOf(",") != -1 )
{
str.replaceAll(",","\\.");
}
請幫忙
您的問題不在於匹配/替換,而是 String 是不可變的,您需要分配結果:
str = str.replaceAll(",","."); // or "\\.", it doesn't matter...
只需使用replace
而不是replaceAll
(需要正則表達式):
str = str.replace(",", ".");
或者
str = str.replace(',', '.');
( replace
將char
或CharSequence
作為輸入,這是一個由String
實現的接口)
另請注意,您應該重新分配結果
str = str.replace(',', '.')
應該做的伎倆。
if(str.indexOf(",")!=-1) { str = str.replaceAll(",","."); }
甚至更好
str = str.replace(',', '.');
對於您提供的當前信息,使用這個簡單的正則表達式進行替換就足夠了:
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
希望能幫到你。
只需使用str.replace(',', '.')
- 當要替換單個字符時,它既快速又高效。 如果逗號不存在,它什么也不做。
如果您想更改它,因為您來自歐洲並且想要使用點而不是逗號來使用掃描儀讀取輸入,您可以這樣做:
Scanner sc = new Scanner(System.in);
sc.useLocale(Locale.US);
System.out.println(sc.locale().getDisplayCountry());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.