Типы данных

Тема в разделе "Java", создана пользователем Cadet, 17 мар 2010.

Статус темы:
Закрыта.
  1. Cadet

    Cadet Гость

    Объясните пожалуйста, почему так, и как этого избежать!


    Код (Text):
    for (double i=0; i<0.8; i+=0.2)
    System.out.println(i);
    При выводе результатов этого цикла получаю следующее:

    0.0
    0.2
    0.4
    0.6000000000000001

    Непонятен результат последнего выполнения цикла.
     
  2. vital

    vital Больной Компом Детектед

    Регистрация:
    29 янв 2006
    Сообщения:
    2.469
    Симпатии:
    27
    Кадет, чему вас учили на предмете "Микропроцессорная техника". Ну или как-нибудь так. Почитайте где-либо про округление! Не зачет кадет.
     
  3. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    накапливающаяся ошибка при вычислениях с плавающей точкой. Эти вычисления НЕ точные.
    точность указывается для каждого типа данных.
    форматируйте при выводе или округляйте, пользуйтесь умножением вместо n сложений (меньше накапливается ошибка) - смотря что Вам надо...

    Добавлено: вот тут почти всё сказано:
    http://codeby.net/forum/threads/31867.html?vi...st&p=147829
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей