0

我正在寻找以下实现:

我有一个字符串:001001001 我需要在输出端接收:001 001 001

我检查了formatNumberDecimalFormat- 他们不能提供这种输出。还有其他内置方法吗?

目前我创建了一些服务器端功能(我认为这实际上不是那么出色的解决方案):

StringBuffer result = new StringBuffer("");

for (int i = 1; i <= 9; i++) {
    result.append(input.charAt(i - 1));
    if (i % 3 == 0)
        result.append(" ");
}

return result.toString();
4

2 回答 2

1

我使用下面的方法。不会像 nKognito 的示例那样在末尾添加额外的空间。

public static String format(String inputUnformatted, int groupSize, String separator) {
    StringBuilder result = new StringBuilder(inputUnformatted);

    int i = groupSize;
    while (i < inputUnformatted.length()) {
        result.insert(inputUnformatted.length() - i, separator);
        i += groupSize;
    }

    return result.toString();
}
于 2013-09-17T09:09:25.407 回答
0
public static void main(String[] args) {
        String input = "001001001";
        StringBuilder result = new StringBuilder();
        int j = 0;
        for (int i = 0; i < input.length(); i++) {
            if (j > 2) {
                result.append(" ");
                j = 0;
            }

            result.append(input.charAt(i));
            j++;
        }

        System.out.println(result.toString());




    }

试试这段代码

于 2013-07-03T10:38:15.393 回答