Форум программистов, компьютерный форум CyberForum.ru

округлить float - C++

Восстановить пароль Регистрация
 
Miwa123
37 / 37 / 1
Регистрация: 16.04.2013
Сообщений: 317
Записей в блоге: 1
02.07.2013, 14:00     округлить float #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int main()
{
  setlocale(LC_ALL, "rus");
float Xmin,Xmax,Xdelta;
cout<<"Введите Xmin: ";
cin>>Xmin;
cout<<"Введите Xmax: ";
cin>>Xmax;
cout<<"Введите Xdelta: ";
cin>>Xdelta;
while(Xmin<=Xmax)
{
    std::cout<<Xmin<<std::endl;
    Xmin+=Xdelta;
}
system("pause");
}
вовожу например значения 2 и 4. значение дельты(прирост 0.2). и в итоге 4 не выводит(хотя знак больше или равно). происходит это из-за точности. как оптимально обойти? сократить точность или другим ухищрением? в ин-ете находил много способов, но слишком громоздких...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.07.2013, 14:00     округлить float
Посмотрите здесь:

C++ Ошибка cannot convert 'float' to 'float*'
как округлить число? C++
C++ Как округлить число типо float?
C++ Округлить число
invalid types `float[float]' for array subscript C++
опять ошибка.на этот раз cannot convert `float (*)(float)' to `float' in argument passing C++
cannot convert `float' to `float*. Почему так происходит? C++
C++ Чем отличаются float преобразования (float)var от float(var)

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soican
49 / 23 / 1
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
02.07.2013, 14:15     округлить float #2
я б так сделал:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#define pogreshnost 1E-6
int main()
{
  setlocale(LC_ALL, "rus");
float Xmin,Xmax,Xdelta;
cout<<"Введите Xmin: ";
cin>>Xmin;
cout<<"Введите Xmax: ";
cin>>Xmax;
cout<<"Введите Xdelta: ";
cin>>Xdelta;
while( (Xmin-Xmax)< pogreshnost )
{
    std::cout<<Xmin<<std::endl;
    Xmin+=Xdelta;
system("pause");
}
}
Yandex
Объявления
02.07.2013, 14:15     округлить float
Ответ Создать тему
Опции темы

Текущее время: 04:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru