我有一系列 BigDecimal 数字(例如:)123456.78
。我想添加逗号,使它们看起来像这样123,456.78
,所以我将它们转换为字符串并使用以下代码:
private static String insertCommas(String str) {
if(str.length() < 4){
return str;
}
return insertCommas(str.substring(0, str.length() - 3)) +
"," +
str.substring(str.length() - 3, str.length());
}
要做到这一点。问题是当我运行insertCommas(str)
它时会打印123,456,.78
. 我想不出一种方法来防止逗号放在小数点之前。
--
还有一件事,它必须适用于大数和小数,这就是为什么我使用上面的代码而不是更简单的代码。
我也尝试过DecimalFormat("#,##0.00")
类似的类型,但是当数字达到某个点时,它们会被零替换,这使我丢失了有关数字的信息。
帮助?