gpt4 book ai didi

java - double

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:17:44 25 4
gpt4 key购买 nike

我有以下输入:

3710728753390210279879799822083759024651013574025046376937677490009712648124896970078050417018260538743249861995247410594742333095130581237266173096299194221336357416157252243056330181107240615490825023067588207539346171171980310421047513778063246676

我想存储它保持至少 10sf 的精度。

我的代码:

BufferedReader br = null;
DecimalFormat d = new DecimalFormat("#");

try {
br = new BufferedReader(new FileReader(file));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
System.out.println(e);
}



while(br.readLine() != null) {
String x = d.format(Double.parseDouble(br.readLine()));
System.out.println(x);
}

然而,在这一点上,我可以将 x 转换为 double 保持精度吗?

谢谢:)

最佳答案

您应该能够使用 double 保持大约 15 位有效数字的准确性。您只需要保留 Double.parseDouble 返回的值,而不是只是 格式化它。您还只需阅读每一行一次:

String line;
while ((line = br.readLine()) != null) {
double value = Double.parseDouble(line);
// Use value...
}

如果您实际上需要确切的值(而不是问题中所述的 10 位有效数字),如果它们都是整数,您应该使用 BigInteger,或者 BigDecimal 如果某些值实际上是非整数。

关于java - double ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17238197/

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