Russian Qt Forum

Программирование => С/C++ => Тема начата: Martiro от Март 11, 2009, 10:18



Название: warning: assignment to `int' from `double'
Отправлено: Martiro от Март 11, 2009, 10:18
Как избавиться от оного?
Дело в том, что в коде просто необходимо переопределять переменные из даблов в инты, а компилятор ругается на них. И фиг бы с ним, но заказчик требует избавиться от них.
Буду рад вашим советам.  :)


Название: Re: warning: assignment to `int' from `double'
Отправлено: spirit от Март 11, 2009, 10:21
а окрулить нельзя?


Название: Re: warning: assignment to `int' from `double'
Отправлено: BRE от Март 11, 2009, 10:26
Как избавиться от оного?
Дело в том, что в коде просто необходимо переопределять переменные из даблов в инты, а компилятор ругается на них. И фиг бы с ним, но заказчик требует избавиться от них.
Буду рад вашим советам.  :)
Явно делай приведение типов:
Код
C++ (Qt)
double dVar =100.1000;
int iVar = (int)dVar;
 
Компилятор переживает, что ты теряешь точность. А так он будет понимать, что ты знаешь что делаешь.  ;)


Название: Re: warning: assignment to `int' from `double'
Отправлено: Martiro от Март 11, 2009, 10:39
Цитировать
Явно делай приведение типов:
Код
C++ (Qt)
double dVar =100.1000;
int iVar = (int)dVar;
 
Компилятор переживает, что ты теряешь точность. А так он будет понимать, что ты знаешь что делаешь.  ;)
Пробовали, но получается, что из 8 байт дабла выбираются 4... и на этом моменте кое-где в приложении "слетает". Сейчас пытаемся выискать причину...


Название: Re: warning: assignment to `int' from `double'
Отправлено: Tonal от Март 11, 2009, 11:09
У даблов больший диапазон значений, так что при преобразовании может произойти потеря, причём независимо от того явно или неявно делается преобразование.
Так что разбирайтесь с кодом. :)

П.С. Похоже заказчик совершенно прав. :)


Название: Re: warning: assignment to `int' from `double'
Отправлено: BRE от Март 11, 2009, 11:10
Цитировать
Явно делай приведение типов:
Код
C++ (Qt)
double dVar =100.1000;
int iVar = (int)dVar;
 
Компилятор переживает, что ты теряешь точность. А так он будет понимать, что ты знаешь что делаешь.  ;)
Пробовали, но получается, что из 8 байт дабла выбираются 4... и на этом моменте кое-где в приложении "слетает". Сейчас пытаемся выискать причину...
Нужен целый тип?
Попробуй qint64.