Приведение двойного к int в Qt-разработчике - PullRequest
0 голосов
/ 30 января 2012

У меня проблема с приведением типа double к int в QtDeveloper.Как вы можете видеть на рисунке ниже, x является целым числом, а y является двойным.Когда int x=static_cast<int>(y) работает, x должно быть -1, но это 0. Пожалуйста, есть идеи почему?

Для увеличения изображения нажмите здесь

Screenshot of execution

Ответы [ 2 ]

1 голос
/ 30 января 2012

Как alexisdm сказал в своем комментарии:

Вы уверены, что в конце Поле «Значение», после многоточия?

1 голос
/ 30 января 2012

Работает, как предназначено для меня.

код:

#include <iostream>
#include <string>
using namespace std;

void foo(double y)
{
    int x = static_cast<int>(y);
    cout << y << ' ' << x << endl;
}

int main()
{
    foo(-1.37026f);
    return 0;
}

выход:

-1.37026 -1

Переменная y должна иметь другое значение. Кажется, это либо ошибка IDE, которую вы используете, либо вы используете ее неправильно;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...