Работа Atof()

Тема в разделе "Общие вопросы по С и С++", создана пользователем Barmaglot, 21 май 2010.

  1. Barmaglot

    Barmaglot Гость

    Здравствуйте.
    Вобщем ситуация из разряда "Стою на асфальте я в лыжи обутый...")

    код пишется в VC++ 2005 express edition

    std::ifstream f_in;
    f_in.open("Settings.txt");
    ....
    getline(f_in,str,char(10));
    //str=="0.06";
    float a=atof(str);
    ....
    дк вместо положенных 0.06 имею а=0.059999999

    далее есть цикл for вида

    float dx=0.01
    for(float x=0.0; x<1.0; x+=dx)
    {
    if (x==a)
    {
    сюда не попадает! а очень надо.:unsure:
    }
    }

    Ткните носом господа пожалуйста что делать как быть...
     
  2. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    if (fabs(x-a)<0.0001)
    {
    ...
    }
     
  3. Barmaglot

    Barmaglot Гость

    Эмм. а покрасивее никак выкрутиться нельзя?)
     
  4. Trupik

    Trupik Гость

    Нельзя в силу ограниченной точности компьютерного представления вещественных чисел.
     
Загрузка...
Похожие Темы - Работа Atof()
  1. Andrey Kha
    Ответов:
    0
    Просмотров:
    32
  2. Hoasker
    Ответов:
    0
    Просмотров:
    65
  3. garri671
    Ответов:
    0
    Просмотров:
    57
  4. lelik200969
    Ответов:
    0
    Просмотров:
    54
  5. Kozolick
    Ответов:
    0
    Просмотров:
    144

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