gpt4 book ai didi

java - 在java for循环中使用 'double'值没有得到准确的值

转载 作者:行者123 更新时间:2023-12-01 18:08:21 24 4
gpt4 key购买 nike

在这个循环中,我不是得到值3.9。停在3.8

for(double a=0.0;a<=3.9; a+=0.1) 
System.out.println((double) Math.round(a * 10) / 10);

输出:

0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
2.0
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
3.0
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8

最佳答案

double没有无限精度,并且数字 0.1不能精确地用二进制表示。无论如何,您可以使用格式化的 io 和 < 4喜欢

for (double a = 0.0; a < 4; a += 0.1) {
System.out.printf("%.1f%n", a);
}

给出了所请求的输出。

关于java - 在java for循环中使用 'double'值没有得到准确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34670690/

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