/**
* 将字符串从右至左每 N 位加一 "-"
* @param str 需要加逗号的字符串
* @param sign 需要追加字符 例如:- 、* 、@ 、| 、# 、:、¥ 等等
* @param n 隔几位字符加 "-' 例如:n=2 即:93:21:53:45:65:43
* 例如:n=2 即:93:21:53:45:65:43
* n=3 即:932:534:565:431
* @return 以从右至左每隔 N 位加一逗号显示
*/
public static String displayWithComma(String str, String sign, int n) {
StringBuilder builder = new StringBuilder();
// 每 n 位取一长度
int size = (str.length() % n == 0) ? (str.length() / n) : (str.length() / n + 1);
/*
* 比如把一段字符串分成 n 段,第 n 段可能不是三个数,有可能是一个或者两个,
* 现将字符串分成两部分.一部分为前 n-1 段,第二部分为第 n 段.前 n-1 段,每一段加一 "-" .而第 n 段直接取出即可
*/
for (int i = 0; i < size - 1; i++) { // 前n-1段
builder.append(str, i * n, i * n + n).append(sign);
}
for (int i = size - 1; i < size; i++) { // 第n段
builder.append(str.substring(i * n));
}
builder = new StringBuilder(new StringBuffer(builder.toString()));
System.out.println("builder = " + builder);
return builder.toString();
}