Български English
Целочислено деление дава 0
Проблем при целочислено деление
Лесно може да се затрудните с това, ако сега започвате да се занимавате със C++ и Qt:
- int a = 2;
- int b = 4;
- double c = a / b;
- qDebug() << c; // резултатът е 0
Вместо желания резултат 0.5 се получава 0.
Решението
Желаният отговор може да бъде постигнат чред следните фрагтменти от програмен код:
- Чрез С метод за преобразуване на типове
- double c = (double) a / b;
- qDebug() << c; // резултатът е 0.5
- Чрез static_cast
static_cast е C++ оператор за преобразуване на типове и най-често се използва за конвертиране на числови типове данни:
- double c = static_cast<double>(a) / b;

