gpt4 book ai didi

java - 将逗号添加到十进制数

转载 作者:搜寻专家 更新时间:2023-11-01 01:45:10 25 4
gpt4 key购买 nike

我有一系列 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") 和类似的类型,但是当数字达到某个点时,它们会被零替换,这让我丢失了有关数字的信息。

帮助?

最佳答案

有一种更简单的方法可以做到这一点。你只需要使用 SimpleDecimalFormat

private static String insertCommas(BigDecimal number) {
// for your case use this pattern -> #,##0.00
DecimalFormat df = new DecimalFormat("#,##0.00");
return df.format(number);
}

private static String insertCommas(String number) {
return insertCommas(new BigDecimal(number));
}

您可以在此处了解新模式和更多信息: DecimalFormat API

希望这可以帮助 :)

关于java - 将逗号添加到十进制数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13110219/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com