Java: StringBuffer实现数字每三位用逗号隔开
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);
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2020-07-12 打印菱形