Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
fishec
119 / 119 / 30
Регистрация: 07.09.2013
Сообщений: 338
#1

Преобразование числа в строку - C++

20.09.2013, 22:08. Просмотров 808. Ответов 10
Метки нет (Все метки)

Как преобразовать строку char *s, в которой записано число(возможно со знаком минус), в формат типа long
1) в строке десятичное число
2) в строке восьмиричное число(вида 0572)
3) в строке 16-ричное число (вида 0xAB87E)
4) в строке двоичное число (вида 0^011101100101)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.09.2013, 22:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Преобразование числа в строку (C++):

Преобразование числа в строку!!!! - C++
Как в VS преобразовать число в строку!!! Через itoa что-то не выходит!!!

Преобразование числа в строку - C++
Всем привет. Имеется следующая функция void LiquidCrystal_I2C_PrintString(char *str){ uint8_t i=0; while(str) { ...

Преобразование числа в строку - C++
Всем доброго времени суток, помогите пожалуйста получить из числа 12345679 (int), строку string = {1, 2, 3, 4, 5, 6, 7, 8, 9}. т.е....

Преобразование числа в строку - C++
Подскажите как преобразовать число в строку, пожалуйста!

Преобразование целого числа в строку - C++
Написать функцию, которая выполняет преобразование целого числа в строку. Проиллюстрировать работу функции примером.

Преобразование сверхбольшого двоичного числа в строку-десятичное_число. - C++
Пишу класс для хранение и операций над числами большой размерности. Перепробовал несколько вариантов представления числа и на данный...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
egor2116
339 / 370 / 42
Регистрация: 20.01.2013
Сообщений: 1,123
20.09.2013, 23:00 #2
Наверное как то так
C++
1
2
char * a="45";
    std::cout<<atol(a)<<std::endl;
1
fishec
119 / 119 / 30
Регистрация: 07.09.2013
Сообщений: 338
20.09.2013, 23:04  [ТС] #3
Цитата Сообщение от egor2116 Посмотреть сообщение
Наверное как то так
А если не десятичное число
0
egor2116
339 / 370 / 42
Регистрация: 20.01.2013
Сообщений: 1,123
20.09.2013, 23:06 #4
А результат должен быть в десятичной ?
0
coloc
погромист
410 / 246 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
20.09.2013, 23:07 #5
C++
1
2
3
4
std::stringstream temp;
int d = 214215;
temp << d;
std::string f = temp.str();
0
egor2116
339 / 370 / 42
Регистрация: 20.01.2013
Сообщений: 1,123
20.09.2013, 23:12 #6
Задание по моему на оборот из строки в число а не из числа в строку
0
fishec
119 / 119 / 30
Регистрация: 07.09.2013
Сообщений: 338
20.09.2013, 23:15  [ТС] #7
Цитата Сообщение от egor2116 Посмотреть сообщение
А результат должен быть в десятичной ?
Да,

Добавлено через 1 минуту
С названием темы накосячил. Из строки в число нужно.
0
coloc
погромист
410 / 246 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
20.09.2013, 23:20 #8
Цитата Сообщение от egor2116 Посмотреть сообщение
Задание по моему на оборот из строки в число а не из числа в строку
упс, перепутал, тогда так
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <sstream>
 
int main(int argc, char **argv) {
    std::stringstream temp;
    char *str = "21421521";
    temp << str;
    int a;
    temp >> a;
    std::cout << a;
}
0
egor2116
339 / 370 / 42
Регистрация: 20.01.2013
Сообщений: 1,123
20.09.2013, 23:28 #9
А по моему как то так
C++
1
2
3
4
5
char* end_ptr;
    std::cout<<strtol("45",&end_ptr,10)<<std::endl;
    std::cout<<strtol("0572",&end_ptr,8)<<std::endl;
    std::cout<<strtol("0xAB87E",&end_ptr,16)<<std::endl;
    std::cout<<strtol("011101100101",&end_ptr,2)<<std::endl;
1
fishec
119 / 119 / 30
Регистрация: 07.09.2013
Сообщений: 338
20.09.2013, 23:39  [ТС] #10
Цитата Сообщение от egor2116 Посмотреть сообщение
А по моему как то так
C++
1
2
3
4
5
char* end_ptr;
    std::cout<<strtol("45",&end_ptr,10)<<std::endl;
    std::cout<<strtol("0572",&end_ptr,8)<<std::endl;
    std::cout<<strtol("0xAB87E",&end_ptr,16)<<std::endl;
    std::cout<<strtol("011101100101",&end_ptr,2)<<std::endl;
Спасибо, то что нужно.
0
Jupiter
Каратель
Эксперт С++
6554 / 3975 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
21.09.2013, 00:51 #11
Цитата Сообщение от coloc Посмотреть сообщение
char *str = "21421521";
Цитата Сообщение от egor2116 Посмотреть сообщение
char * a="45";
const char*
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.09.2013, 00:51
Привет! Вот еще темы с ответами:

Ввести в программу строку (числа, латиница), считать только числа, записать числа в массив - C++
Нужна помощь! Срочно! Нужно ввести в программу строку (числа, латиница), считать только числа, записать числа в массив. Помогите,...

Преобразование объекта в строку - C++
Есть некий класс Object. Как сделать так, чтобы он был полностью совместим со string? Чтобы можно было делать например вот так: ...

Преобразование цифр в строку - C++
Всем привет! Пишу небольшую программку, а именно просто идущие часы(такие же что тикают в нижнем правом углу) Так вот хочу выводить...

Преобразование из double в строку - C++
Здравствуйте, в общем такое дело, есть winapi приложение с подключаемой .dll, при подсчёте функция должна вывести в эдит дробный...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.09.2013, 00:51
Ответ Создать тему
Опции темы

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