使用BigDecimal类中的toPlainString方法,然后将数字转换为文本,使用正则表达式添加千位分隔符。
代码示例:
import java.math.BigDecimal;
import java.text.DecimalFormat;
public class ThousandsSeparator {
public static String addThousandsSeparator(BigDecimal bigDecimal) {
String pattern = "#,###.0###################"; // 最多20个小数位
DecimalFormat decimalFormat = new DecimalFormat(pattern);
String formatted = decimalFormat.format(bigDecimal.doubleValue()); // 格式化为字符串
formatted = formatted.replaceAll(",", ""); // 去除原有的千位分隔符
return formatted;
}
public static void main(String[] args) {
BigDecimal bigDecimal = new BigDecimal("1234567890.1234567890");
String formatted = addThousandsSeparator(bigDecimal);
System.out.println(formatted); // 输出 1,234,567,890.123456789
}
}