Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.97/32: Рейтинг темы: голосов - 32, средняя оценка - 4.97
16 / 16 / 3
Регистрация: 19.11.2009
Сообщений: 112
1

Вывод чисел в ListBox из переменных типа float,int.

19.11.2009, 15:49. Показов 6104. Ответов 6
Метки нет (Все метки)

Подскажите простой метод вывода чисел из переменных в ListBox.
Пробывал преобразовать переменную типа float с помощю функции fcvt(),а затем AddString() но там была куча проблем, и не отображало точку после перевода.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.11.2009, 15:49
Ответы с готовыми решениями:

Почему при умножении разнотипных переменных (например, float и int) получается int?
Почему при умножении разнотипных переменных (float price и int unit) получается int? Это же не...

Ввод и вывод чисел типа float
Прошу объяснить, в чём ошибка в коде Хотел написать простенький код, но что-то не то с выводом...

Вывод чисел типа float. Переполнение мантисы
Пишу: float f = 1.9999994f; Console.WriteLine(f); //Выводит 1.999999 без 4-ки Затем меняю 4...

ОШИБКА [Error] cannot convert 'int*' to 'float*' for argument '1' to 'void Syma(float*,int*,int)
Какая то проблема с указателями,незнаю,не хочет щитать суму парних чисел в второй...

6
Заблокирован
Автор FAQ
19.11.2009, 16:01 2
Необходима одна буферная переменная класса CString
Выглядеть будет примерно так
C++
1
2
3
CString str; float num = 24.5607;
str.Format("%.3f",num);
m_list.AddString(str);
str.Format("%.3f",num); - данный метод преобразует переменную типа float в строку, 3 - отображаемое число знаков после запятой
Если необходимо преобразовать целое то нужно поставить вот такой спецификатор форматор "%d"
1
16 / 16 / 3
Регистрация: 19.11.2009
Сообщений: 112
19.11.2009, 18:59  [ТС] 3
-=ЮрА=-: Спасибо
0
3 / 3 / 0
Регистрация: 08.05.2010
Сообщений: 135
27.01.2011, 15:37 4
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Необходима одна буферная переменная класса CString
Выглядеть будет примерно так
C++
1
2
3
CString str; float num = 24.5607;
str.Format("%.3f",num);
m_list.AddString(str);
str.Format("%.3f",num); - данный метод преобразует переменную типа float в строку, 3 - отображаемое число знаков после запятой
Если необходимо преобразовать целое то нужно поставить вот такой спецификатор форматор "%d"
У меня компилятор ругается. Пишу В VISUAL STUDIO 10

C++
1
2
3
4
5
6
int num = *(int*)param;
    CString str;
    CsThrDlg* d;
    d=(CsThrDlg*)theApp.m_pMainWnd;
    str.Format("Start Thread №%d",num);
    d->m_list.AddString(str);
Ругается на точку перед Format
вот ошибка

Код
c:\program files\microsoft visual studio 10.0\my_progects\sthr\sthr\sthrdlg.cpp(109): error C2664: 'void ATL::CStringT<BaseType,StringTraits>::Format(const wchar_t *,...)' : cannot convert parameter 1 from 'const char [17]' to 'const wchar_t *'
          with
          [
              BaseType=wchar_t,
              StringTraits=StrTraitMFC<wchar_t>
          ]
          Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
подскажите в чем дело(((
0
150 / 73 / 27
Регистрация: 09.04.2010
Сообщений: 297
28.01.2011, 23:13 5
Цитата Сообщение от Uklunok Посмотреть сообщение
Ругается на точку перед Format
Попробуй так:
C
1
str.Format(L"Start Thread №%d",num);
ну, или
C
1
str.Format(TEXT("Start Thread №%d"),num);
1
3 / 3 / 0
Регистрация: 08.05.2010
Сообщений: 135
29.01.2011, 06:46 6
Цитата Сообщение от FireNovel Посмотреть сообщение
Попробуй так:
C
1
str.Format(L"Start Thread №%d",num);
ну, или
C
1
str.Format(TEXT("Start Thread №%d"),num);
Да ужжж... Я конечно знал,что при выводе сообщений например функцией AfxMessageBox или MessageBox, нужно перед кавычками ставить символ L, но предположить не мог, когда компилятор указал на ошибку, что проблема именно в этом. Значит при выводе любых сообщений в кодировке UNICODЕ нужно ставить эту штуку. Проще тогда при создании проекта не выбирать юникод.
СПАСИБО! А то Я больше часа провозился....
0
150 / 73 / 27
Регистрация: 09.04.2010
Сообщений: 297
29.01.2011, 22:10 7
Цитата Сообщение от Uklunok Посмотреть сообщение
Проще тогда при создании проекта не выбирать юникод.
Проще использовать макрос TEXT("") тогда компилятор сам будет решать нужно ставить L перед кавычками или нет

А точнее не компилятор, а препроцессор
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.01.2011, 22:10

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Почему диапазон значений у типа float больше, чем у типа int, если они оба занимают 4 байта?
Почему диапазон значений флоат больше чем у инта, если они оба занимают 4 байта? Вроде слышал...

Вывод всех целых чисел типа int
Всем привет! Помогите написать программу, нужно объявить массив в котором содержится весь диапазон...

Не происходит конвертация типа int в float
int r = 130; r = (float)r/255; r равен 0. Почему не произошла конвертация типа?

Ошибка: "Значение типа float нельзя присвоить сущности типа int"
При компиляции в Visual C++ получается такая ошибка: &quot;Значение типа float нельзя присвоить сущности...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.