gpt4 book ai didi

java - 有没有一种有效的方法来舍入内部具有双值的字符串并得到 double 答案?

转载 作者:太空宇宙 更新时间:2023-11-04 11:25:11 27 4
gpt4 key购买 nike

所以我的问题有点令人困惑,但仍然如此。我从外部源获取一个由 8 个字符串组成的数组,其中所有字符串都包含 double 值。这些值通常为小数点后 4 位:

12345.5678

我想做的是将其转换为小数点后 3 位并四舍五入并将结果输出:

12345.568

下面是代码示例:

private double[] parseDouble(String[] values) { 
double[] output = new double[values.length];
for (int i = 0; i < values.length; i++) {
output[i] = Double.parseDouble(String.format("%.3f",
Double.parseDouble(values[i]));
}
return output;
}

所以我的问题是:

1.还有比这更好的方法吗?因为在我看来,解析为双倍 2 次是相当多余的。

2.如果字符串数组中的值数量在 100-1000 左右,是否会影响性能?

提前致谢!

最佳答案

为了答案的合理性,我可以建议这样做,但您不需要声明数组结果

private double[] parseDouble(String[] values) {
double[] result = Arrays.stream(values).mapToDouble(Double::parseDouble).toArray();
return result;
}

现在只会将字符串解析为 double ...

对于它们看起来如何,您需要一个格式化程序:

DecimalFormat df = new DecimalFormat("#.###");
df.setRoundingMode(RoundingMode.CEILING);
double[] x = { 12345.5678, Math.PI, 123.123451, Math.E };
Arrays.stream(x).forEach(n -> System.out.println(df.format(n)));

我建议结合这两种方法,并记住无论打印多少个小数位, double 都是 double 。

关于java - 有没有一种有效的方法来舍入内部具有双值的字符串并得到 double 答案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44444207/

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