Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 14.06.2011
Сообщений: 17

Неправильное приведение типов или как?

17.06.2011, 16:59. Показов 1435. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Короче вот код
C++
1
2
3
4
5
6
7
8
9
void CMyDialog::OnBnClickedButtonEdit()
{
        double number ;
CString t;
number= (t_f+t_o+t_m+t_d+t_b+t_i+t_s)/7; 
t.Format(_T("%d"), number);
AfxMessageBox(t);
    // TODO: Add your control notification handler code here
}
переменные t_f,t_o и т.д уже заданы и нормальные.
Просто когда я пишу int number ,выдает целое значение,а когда double то 0.Мне же нужно чтобы вдавало число с запятой
Выдает 0,ну сами понимаете))
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.06.2011, 16:59
Ответы с готовыми решениями:

Что быстрее будет работать сравнение или (сложение и приведение типов)?
Эти строчки if(h == 0xffffffff) { code_1 } else { code_2 } или if(h + 1) { code_2 } else { code_1 }

Как работает приведение типов
#include <stdio.h> int main(void) { printf("%d", (int*)3 + 4); return 0; } То что выведется 19 проверить можно. Но...

Приведение типов: как работает reinterpret_cast<>() ?
Хочу разобраться до конца с приведением типов а именно интересует reinterpret_cast&lt;&gt;(), хотя бы в общих чертах логика этой функции, на...

12
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
17.06.2011, 17:02
для начала
C++
1
double number = (t_f + t_o + t_m + t_d + t_b + t_i + t_s) / 7.0;
0
Кошковед
 Аватар для co6ak
521 / 509 / 63
Регистрация: 12.04.2010
Сообщений: 1,390
17.06.2011, 17:02
мож компиль не может справиться и значения теряются. как в QT каком-нить

double number = static_cast< double >( pi );
0
Эксперт С++
 Аватар для grizlik78
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
17.06.2011, 17:03
Спецификатор формата %d означает число тип int. Для double нужно что-нибудь другое. Например %lf
0
 Аватар для OstapBender
594 / 532 / 76
Регистрация: 22.03.2011
Сообщений: 1,585
17.06.2011, 17:05
видимо придется сделать развилочку и проверять дробную часть (modf). и делать либо %f либо %d
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
17.06.2011, 17:05
co6ak,
Цитата Сообщение от co6ak Посмотреть сообщение
мож компиль не может справиться и значения теряются. как в QT каком-нить
поясните?
0
Кошковед
 Аватар для co6ak
521 / 509 / 63
Регистрация: 12.04.2010
Сообщений: 1,390
17.06.2011, 17:07
я хз как объяснить. ибо в кьютэ недавно сталкивался с проблемой, когда интовсая переменная не могла передать значение в переменную дабл, без предварительного перевода.
было что-то типо
int x = 13; double y = x; // y = 0;
0
Эксперт С++
 Аватар для grizlik78
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
17.06.2011, 17:11
OstapBender, а смысл в развилочке? Переменная double должна выводиться через %f или подобные независимо от значения дробной части. %d только для целых (по типу, а не по значению).
0
17.06.2011, 18:02

Не по теме:

Цитата Сообщение от co6ak Посмотреть сообщение
я хз как объяснить. ибо в кьютэ недавно сталкивался с проблемой, когда интовсая переменная не могла передать значение в переменную дабл, без предварительного перевода.
было что-то типо
int x = 13; double y = x; // y = 0;
мистика какая-то... Прям так все и было?

0
 Аватар для OstapBender
594 / 532 / 76
Регистрация: 22.03.2011
Сообщений: 1,585
18.06.2011, 01:10
Цитата Сообщение от grizlik78 Посмотреть сообщение
OstapBender, а смысл в развилочке? Переменная double должна выводиться через %f или подобные независимо от значения дробной части. %d только для целых (по типу, а не по значению).
так он хочет чтобы, если он ввёл целое, ему без дробной части выдавалось, а если вещественное , то с ней.
а если сделать только %f, то целое будет выводится как 3.0



а, или хз, перечитал 1ый пост.
ну тогда просто %f.
0
Эксперт С++
 Аватар для grizlik78
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
18.06.2011, 01:16
Если не хочется выводить лишние нули, то вместо %f можно использовать %g. Правда очень большие и очень маленькие будут в научном формате. Но я такой хотелки в исходном посте не увидел.
1
 Аватар для OstapBender
594 / 532 / 76
Регистрация: 22.03.2011
Сообщений: 1,585
18.06.2011, 01:30
Цитата Сообщение от grizlik78 Посмотреть сообщение
Если не хочется выводить лишние нули, то вместо %f можно использовать %g.
офигеть. 1ый раз слышу.
0
18.06.2011, 07:17

Не по теме:

Цитата Сообщение от OstapBender Посмотреть сообщение
офигеть. 1ый раз слышу
man тебе в помощь :D

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.06.2011, 07:17
Помогаю со студенческими работами здесь

Строгая типизация. Только ручное приведение типов. Как не смешать яблоки с грушами?
Приветствую Вас, уважаемые форумчане! Вопрос, предполагаю, элементарный для опытных программистов. Подскажите пожалуйста каким...

Приведение типов
Есть задача создать список с объектами у которых разные классы, но один базовый предок. Потом нужно перебрать список и если объект одного...

Приведение типов
Доброго времени суток. Есть вопрос. Допустим: class Base { ..... } class Derived:public Base{ .... }

Приведение типов
Привет всем! Компилятор выдает варнинг если сравниваются signed и unsigned значения.Допустим, код пересмотреть нельзя и изменить типы...

Приведение типов.
Столкнулся с задачей считывания данных из символьного массива с дальнейшим отбором из всего этого чисел и перезаписи их в массив типа...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru