Надо для поддержания "красивости" графика нормировать прямоугольник дробными коэффициентами...
ТО есть ну ни как не 3 и не 2,а именно 2.5 дает правильную ширину...Так как CRect по докуметации имеет тпи параметров int, то хотелось бы выяснить, как в таком случае бороться с варнингами по преобразованию типов???
СПАСИБО!
[]
A>Надо для поддержания "красивости" графика нормировать прямоугольник дробными коэффициентами... A>ТО есть ну ни как не 3 и не 2,а именно 2.5 дает правильную ширину...
Тогда напиши свой CRect, который умеет с плавающей точкой работать.
A>Так как CRect по докуметации имеет тпи параметров int, то хотелось бы выяснить, как в таком случае бороться с варнингами по преобразованию типов???
Если дело именно в том, чтобы победить warning, то так:
A>Надо для поддержания "красивости" графика нормировать прямоугольник дробными коэффициентами... A>ТО есть ну ни как не 3 и не 2,а именно 2.5 дает правильную ширину...Так как CRect по докуметации имеет тпи параметров int, то хотелось бы выяснить, как в таком случае бороться с варнингами по преобразованию типов???
Отключить их соответствующей прагмой
Но учти, что преобразование типа все равно будет и координаты останутся целыми, а не дробными, как ты хочешь
Здравствуйте, altmenn, Вы писали:
A>Привет всем! A> Вопрос такой вот
A>
A>CRect(left,top,right,2.5* bottom);
A>
A>Надо для поддержания "красивости" графика нормировать прямоугольник дробными коэффициентами... A>ТО есть ну ни как не 3 и не 2,а именно 2.5 дает правильную ширину...Так как CRect по докуметации имеет тпи параметров int, то хотелось бы выяснить, как в таком случае бороться с варнингами по преобразованию типов??? A>СПАСИБО!
Варнинг по преобразованию вещ-го в целое?
Просто преобразовывать явно
(int)(2.5*bottom)
Здравствуйте, altmenn, Вы писали:
UgN>Но учти, что преобразование типа все равно будет и координаты останутся целыми, а не дробными, как ты хочешь A>Вот в том то и оно — что 2 и 2.5 выглядят на экране по разному!
Само собой, что выглядят по-разному. Вычисляется-то с плавающей точкой.
Коэффициент фиксированный?
CRect(left,top,right,bottom*5/2);
И быстрее, чем в float/из float-а конвертировать.
Здравствуйте, limax, Вы писали:
L>Здравствуйте, altmenn, Вы писали:
UgN>Но учти, что преобразование типа все равно будет и координаты останутся целыми, а не дробными, как ты хочешь A>Вот в том то и оно — что 2 и 2.5 выглядят на экране по разному!
L>Само собой, что выглядят по-разному. Вычисляется-то с плавающей точкой. L>Коэффициент фиксированный? L>CRect(left,top,right,bottom*5/2); L>И быстрее, чем в float/из float-а конвертировать.
Aaaa....
int(5/2) = 2
...
или у меня не все дома?
Наверно я просто не знаю что происходит при таких преобразованиях...
Памажыце, калiласка!
Здравствуйте, altmenn, Вы писали:
L>CRect(left,top,right,bottom*5/2); L>И быстрее, чем в float/из float-а конвертировать.
A>Aaaa.... A>int(5/2) = 2 A>... A>или у меня не все дома?
Чего ж тут непонятного?
int(5/2) == 2
Но:
int(10*5/2) == 25
Порядок ассоциативности ещё никто не отменял, поэтому bottom*5/2 вычисляется как (bottom*5)/2