Java: StringBuffer实现数字每三位用逗号隔开
JAVA 实现 数字 逗号 stringbuffer 三位
2023-09-11 14:16:16 时间
package io;
public class T {
public static void main(String[] args) {
String b = "124356789123456";
String bb = "124356789123456.124356789123456";
System.out.println(split(b));
System.out.println(split(bb));
}
private static String split(String s) {
// StringBuilder stringBuilder = new StringBuilder(s);
StringBuffer stringBuffer = new StringBuffer().append(s);
// 对"."前分隔
int index = stringBuffer.lastIndexOf(".");
if (index == -1) {
index = stringBuffer.length() - 1 - 2; // 没有"."时, 要从最后一个数字索引位置往前移两位插入
} else {
index -= 3; // 有"."时, 因为"."非数字, 从index往前移三位插入
}
for (; index > 0; index -= 3)
stringBuffer.insert(index, ',');
// 对"."后分隔
index = stringBuffer.indexOf("."); // 必须重新计算
// System.out.println("index = " + index);
// System.out.println("stringBuffer = " + stringBuffer);
if (index != -1) {
for (index += 4; index < stringBuffer.length(); index += 4)
stringBuffer.insert(index, ',');
}
return new String(stringBuffer);
}
}
相关文章
- Java笔记:集合框架实现原理
- java中实现将一个数字字符串转换成逗号分隔的数字串, 即从右边开始每三个数字用逗号分隔
- Java实现 删数字
- Java实现 LeetCode 704 二分查找(二分法)
- Java实现 LeetCode 695 岛屿的最大面积(DFS)
- Java实现蓝桥杯第十一届校内模拟赛
- Java实现 LeetCode 374 猜数字大小
- Java实现 LeetCode 81 搜索旋转排序数组 II(二)
- Java实现 蓝桥杯 算法提高 Monday-Saturday质因子
- Java实现蓝桥杯 算法训练 大等于n的最小完全平方数
- Java实现 LeetCode 137 只出现一次的数字
- java实现数字黑洞
- java实现文件管理
- java实现数组转置
- Java实现第十届蓝桥杯迷宫
- java实现拉丁方块填数字
- Java实现字符串的旋转
- Java实现 蓝桥杯 历届真题 数字拆分
- Java实现 蓝桥杯VIP 算法训练 矩阵乘方
- Java实现 蓝桥杯VIP 算法提高 排队打水问题
- Java实现 蓝桥杯VIP 算法训练 判定数字
- Java实现 蓝桥杯VIP 算法训练 ALGO-85进制转换
- (Java实现) 洛谷 P1781 宇宙总统
- Java实现第八届蓝桥杯国赛 数字划分
- java-信息安全(十二)-数字证书、CA证书【Java证书体系实现】