Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712
1

Преобразование текста в число

04.04.2017, 18:11. Показов 3604. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Приветствую. Есть текст, который представляет собой шестнадцатеричное число. Возможно ли его преобразовать в это самое число без добавления к нему 0x?
C++
1
2
3
4
String str = _T("FA09");
 
// Пока преобразую так:
int i = StrToInt(_T("0x") + str);
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.04.2017, 18:11
Ответы с готовыми решениями:

Преобразование текста из edit в дробное число
Доброе время суток. Проблема такая. Есть поле Edit. Нужно вводить дробные числа типа float, но...

Преобразование текста.
Форумчане! Помогите написать программу, меняющую изначальный введённый пользователем текст....

Преобразование текста в графику
Подскажите, пожалуйста, как преобразовать текст в графику и сохранить этот текст (как-бы в виде...

Преобразование текста в переменную
Привет все! void __fastcall TKursova_Denis::Button2Click(TObject *Sender) { st=Edit2->Text; //...

8
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
04.04.2017, 18:24 2
Можно-то можно. А вот нужно ли - тебе решать:
C++
1
2
3
4
    std::stringstream ss;
    ss << std::hex << "FA09";
    int x = 0; 
    ss >> x;
Чем не устраивает добавление "0x"?
0
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712
04.04.2017, 18:30  [ТС] 3
Цитата Сообщение от volvo Посмотреть сообщение
Чем не устраивает добавление "0x"?
В принципе устраивает. Просто думал, что есть какая-то функция для подобного... Значит буду добавлять.

Не по теме. А не подскажите как добавить в строку перед каждым символом другой (один и тот же) символ? Например, есть строка "привет", а надо чтобы получилось "ТпТрТиТвТеТт".
0
управление сложностью
1687 / 1300 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
04.04.2017, 19:30 4
Цитата Сообщение от d7d1cd Посмотреть сообщение
А не подскажите как добавить в строку перед каждым символом другой
Видимо нужно использовать еще один массив, в который ты будешь записывать уже новую строку, со вставленными символами. Т.е. перебираешь посимвольно первый массив(строку) и добавляешь в новый, но вставляешь нужный символ. имхо
0
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712
04.04.2017, 19:51  [ТС] 5
Почтальон,
Цитата Сообщение от Почтальон Посмотреть сообщение
Т.е. перебираешь посимвольно первый массив(строку) и добавляешь в новый, но вставляешь нужный символ.
Ну так можно не использовать еще один массив. Надо просто в имеющуюся строку вставить символы:
C++
1
2
String str = L"привет";
for(int i = 1; i < 12; i += 2) str.Insert(L"Т", i);
0
Почтальон
04.04.2017, 20:47
  #6

Не по теме:

Цитата Сообщение от d7d1cd Посмотреть сообщение
Надо просто в имеющуюся строку вставить символы
нутром чуял что что-то подобное есть :) главное решили вопрос

0
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712
05.04.2017, 10:12  [ТС] 7
Почтальон, задача то решена, но как то криво, на мой взгляд. Вспоминается, что здесь на форуме обсуждались другие проблемы при работе со строками, в которых уважаемый volvo приводил решение проблемы одной строкой. При этом использовались то ли классы для работы со строками, то ли отдельные функции. Сейчас уж и не вспомню. Вот и подумал, что может уже есть изобретенный метод для выполнения моей задачи.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
05.04.2017, 12:09 8

Не по теме:

d7d1cd, ты хочешь так, как умеет, скажем, PascalABC.NET:

Pascal
1
2
3
  var s := 'привет';
  s := ('T' * s.Length).Interleave(s).JoinIntoString(''); // вот такой одной строкой
  writeln(s);
? Мне подобный способ для C++ неизвестен.



Могу предложить такой вариант:
C++
1
2
    String str = L"привет";
    for(int i = str.Length(); i > 0; i--) str.Insert(L"Т", i);
, без увеличений счетчика на 2.
0
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712
05.04.2017, 12:58  [ТС] 9
volvo, хотелось именно так, как вы показали в первом коде. За вариант без увеличения счетчика на 2 спасибо.
0
05.04.2017, 12:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.04.2017, 12:58
Помогаю со студенческими работами здесь

Преобразование текста в речь
Здравствуйте. Подскажите пожалуйста литературу(можно с громоздкими теоретическими выкладками) для...

Преобразование текста в программный код
Не знаю как решить следующую задачу:необходимо создать базу данных, в каждой строке которой есть...

Преобразование текста из UTF-8 в Windows-1252
Пытаюсь перекодировать текст кириллицей в Windows-1252. Использую функцию WideCharToMultiByte() для...

Преобразование написаного текста програмыы в 3D фигуру
Здравствуйте опытные! Есть написаный код програмы на С++, из которого надо сделать объемную...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru