9.555.555,00 のような文字列があり、すべての記号を削除して数字だけを保持したいのですが、これは文字列形式です。
indexof を使用して特殊文字を検索し、ループが特定の文字に到達したときに特定の文字をスキップするためにループを使用しているため、その文字が最終的な文字列に追加されません。
ただし、これを行うと、コードはピリオド記号の最初の出現を検出するように見えますが、indexOf() は、別の . 文字列で。
int dotIndex, commaIndex;
dotIndex = tempBalance.indexOf('.');
commaIndex = tempBalance.indexOf(',');
for(int j = 0; j < tempBalance.length(); ++j){
//System.out.println("Iteration: " + j + " ~ i @ : " + i);
if(j == dotIndex){
System.out.println("Current dot Index: " + dotIndex + " J: " + j + " : " + tempBalance);
dotIndex = tempBalance.indexOf(j+1, '.');
System.out.println("New dotIndex: " + dotIndex);
continue;
} else if(j == commaIndex){
break;
} else {
tempString.append(tempBalance.charAt(j));
//System.out.print("Found normal Number: " + tempBalance.substring(j, (j+1)));
}
system.out.println の出力:
現在のドット インデックス: 1 J: 1 : 9.955.458,23
新しいドット インデックス: -1