Я попытался выполнить цикл от 0,1 до 2,0, а затем распечатать вывод на консоль .. Но я получил странный вывод, подобный этому:
0.1
0.2
0.30000000000000004
0.4
0.5
0.6
0.7
0.7999999999999999
0.8999999999999999
0.9999999999999999
1.0999999999999999
1.2
1.3
1.4000000000000001
1.5000000000000002
1.6000000000000003
1.7000000000000004
1.8000000000000005
1.9000000000000006
2.0000000000000004
Исходный код:
public class test {
public static void main(String[] a) {
double i = 0.1;
while (i < 2.1)
System.out.println(i);
i+=0.1;
}
}
}
Почему это не печатает точные цифры вместо точки, как 0.79999999999
?
Также есть какая-то разница, используя for
вместо while
, так как я не знаю, как сделать приращение 0,1?