Сегодня у меня проблема с запятой. Я хочу поместить запятые в строку следующим образом:
String before = "12345678901234";
String after = commaInString(before); //This is the function that I want to make, but with no luck yet.
System.out.println(after); // This should show 12,345,678,901,234
Итак, теперь мне нужно сделать функцию commaInString (String string), и я сделал тестовую функцию ниже:
public static String commaInString(String string) {
int stringSize = string.length();
int fsize = stringSize % 3;
StringBuffer sb = new StringBuffer();
int j = 0;
for(int k=0;k<stringSize;k++) {
if(fsize !=0 && k<fsize) j=0;
else if(fsize !=0 && k==fsize) sb.append(",");
j++;
sb.append(string.substring(k,k+1));
if(j%3==0 && (j+fsize)!=stringSize) sb.append(",");
}
string=sb.toString();
return string;
}
Но это работает только на некоторых числах, и я не знаю почему. Я не могу использовать DecimalFormmat, так как число слишком велико, чтобы быть целым числом. Я хочу поставить запятые в самой строке. Какие меры можно предпринять для выполнения вышеуказанной функции, чтобы решить эту проблему? Пожалуйста, помогите.