цикл for и неверный вывод, java

При таком коде

for (double i = 0; i < 2 * Math.PI; i += 0.1) {
            System.out.println(i);

        }

на вывод получается нечто подобное 0.0

0.1

0.2

0.30000000000000004

0.4

0.5

0.6

0.7

0.7999999999999999

0.8999999999999999

0.9999999999999999

1.0999999999999999 и т.д.

а хотелось бы

0.0

0.1

0.2

0.3

0.4

0.5 и т.д

Не понимаю почему, и как это исправить?


Ответы (1 шт):

Автор решения: Aziz Umarov

Сделайте так

for (int i = 0; i < 2 * Math.PI*10; i++) {
  System.out.println(i/10.0);
}
→ Ссылка