Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.09.2010, 19:56   #1
ordoss
Пользователь
 
Регистрация: 03.01.2010
Сообщений: 41
По умолчанию Округление числа [C++]

Как-то неправильно работает у меня округление, вот например:
Код:
float X = int(63 * 3 / 250 + 0.5);
получаю 0, что я не так делаю?
ordoss вне форума Ответить с цитированием
Старый 26.09.2010, 20:23   #2
D@rkD@iver
Форумчанин
 
Регистрация: 28.07.2009
Сообщений: 189
По умолчанию

нет все правильно
63*3/250= 0
0+0.5= 0.5
int(0.5)= 0

float x= fabs(63*3/250.0+0.5);
пишу программы для студентов и школьников на Pascal, Delphi, C++, WINAPI, assembler
обучаю программированию на паскале(дистанционно);mail: hruslow@gmail.com
D@rkD@iver вне форума Ответить с цитированием
Старый 26.09.2010, 20:34   #3
ordoss
Пользователь
 
Регистрация: 03.01.2010
Сообщений: 41
По умолчанию

Цитата:
Сообщение от D@rkD@iver Посмотреть сообщение
63*3/250= 0
а почему не 0.756?
ordoss вне форума Ответить с цитированием
Старый 26.09.2010, 20:39   #4
D@rkD@iver
Форумчанин
 
Регистрация: 28.07.2009
Сообщений: 189
По умолчанию

а потому что если с двуз сторон целое число
то это целочисленное деление
поэтому я сделал знаменатль дробным числом
пишу программы для студентов и школьников на Pascal, Delphi, C++, WINAPI, assembler
обучаю программированию на паскале(дистанционно);mail: hruslow@gmail.com
D@rkD@iver вне форума Ответить с цитированием
Старый 26.09.2010, 20:50   #5
ordoss
Пользователь
 
Регистрация: 03.01.2010
Сообщений: 41
По умолчанию

спасибо, теперь все понятно
ordoss вне форума Ответить с цитированием
Старый 26.09.2010, 21:35   #6
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

Цитата:
float c=(63*3)/250.0;

cout<<"округление в большую сторону до сотых"<<ceil(c*100)/100<<endl;
cout<<"округление в меньшую сторону до сотых"<<floor(c*100)/100<<endl;

system("pause");
на выводе получаем:
0.76
0.75
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery

Последний раз редактировалось kaljan775; 26.09.2010 в 21:47. Причина: понял :)
kaljan775 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нежелательное округление числа НеВа6464 Microsoft Office Excel 15 08.01.2015 17:51
Округление числа в ячейке Aleksandr-St Microsoft Office Excel 1 17.04.2010 23:19
Округление числа Foxx Microsoft Office Excel 13 07.04.2010 07:09
Округление числа с точкой artemavd Общие вопросы Delphi 11 03.02.2010 02:06
Округление числа Pinya Microsoft Office Excel 2 18.09.2008 18:01