首页 > 解决方案 > 将逗号放入字符串

问题描述

今天,我的逗号有问题。我想把逗号放在字符串中,如下所示:

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,因为数字太大而不能成为整数。我想把逗号放在“字符串”本身。我可以对上面的功能做些什么来解决这个问题?请帮忙。

标签: javastringcomma

解决方案


您非常接近,只需编辑此内容:

    if(fsize !=0 && k<fsize) j=0;
    else if(fsize !=0 && k==fsize){
        j=0;
        sb.append(",");
    }

推荐阅读