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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 69, средняя оценка - 4.88
][акер
#define книжный_червь Я
182 / 93 / 6
Регистрация: 30.01.2010
Сообщений: 780
#1

Функция преобразования целого числа в строку - C++

29.06.2010, 22:13. Просмотров 10355. Ответов 14
Метки нет (Все метки)

Подскажите, пожалуйста, этакую функцию!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.06.2010, 22:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Функция преобразования целого числа в строку (C++):

Процедура преобразования целого числа символов - C++
Помогите пожалуйста! Начала изучать С++ самостоятельно. Стоит задача: составить процедуру преобразования целого числа в строку символов...

Написать функцию itoa (n,s) преобразования целого числа n в стринг s - C++
Написать функцию itoa (n,s) преобразования целого числа n в стринг s

Функция для преобразования double в строку символов. - C++
Написать функцию для преобразования переменной типа double в строку символов с заданной точностью представления ( dtoa( double num, int...

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

Функция, возвращающая число, полученное из целого числа - C++
Выдали задание, но я не могу разобратся в логической цепочки . Не могу понять как написать ее правильно.Кто может напишите=)) ...

Функция вывода на экран всех множителей целого числа - C++
Написать программу. Функция вывода на экран всех множителей числа. Цикл for

14
alex_x_x
бжни
2450 / 1655 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
29.06.2010, 22:14 #2
itoa, sprintf
0
][акер
#define книжный_червь Я
182 / 93 / 6
Регистрация: 30.01.2010
Сообщений: 780
29.06.2010, 22:15  [ТС] #3
А поподробнее?
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
29.06.2010, 22:21 #4
itoa преобразует инт в чар. Имеет вроде бы такой синтаксис: itoa(интовая переменная, чар указатель вроде как, 10)

void itoa(int input, char *buffer, int radix)
string sprintf (string format [, mixed args])
0
alex_x_x
бжни
2450 / 1655 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
29.06.2010, 22:30 #5
[акер;832864]А поподробнее?
msdn, google?
0
kazak
3048 / 2369 / 160
Регистрация: 11.03.2009
Сообщений: 5,436
Завершенные тесты: 1
29.06.2010, 22:34 #6
C
1
char *itoa(int value, char *string, int radix);
находится в stdlib.h radix - система счисления.
C
1
int sprintf(char *buffer, const char *format[, argument, ...]);
находится в stdio.h. Тоже самое что printf, только вывод происходит не на экран а в buffer.
0
Хохол
Эксперт С++
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
29.06.2010, 23:15 #7
мож пригодится
C++
1
2
3
4
5
6
string itoa(int n)
{
     char buf[20];
     sprintf(buf,"%d",n);
     return buf;
}
1
easybudda
Модератор
Эксперт CЭксперт С++
9694 / 5644 / 962
Регистрация: 25.07.2009
Сообщений: 10,848
30.06.2010, 00:49 #8
на С++ вот так ещё можно:
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <sstream>
 
int main(){
    int i = 234;
    std::ostringstream ost;
    ost << i;
    std::cout << ost.str() << std::endl;
    return 0;
}
1
Димферон
3 / 3 / 2
Регистрация: 06.02.2014
Сообщений: 14
30.09.2014, 00:04 #9
Вот функция для преобразования любого int числа в строку символов (std::string)
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
std::string IntToString(int a){
        std::string temp;
        int i = 0;
        while (a != 0){
            int b = a/10;
            int c = a - b*10;
            a /= 10;
            char s = 48+c;
            temp += s;
            i++;
            }
        for (int i = 0, j = temp.size()-1; i < temp.size()-1; i++, j--){
            char s = temp[i];
            temp[i] = temp[j];
            temp[j] = s;
            if (i-j == 0)
                {
                break;
                }
            }
        return temp;
    }
0
Andrej
И целого heap'а мало
94 / 55 / 9
Регистрация: 31.07.2014
Сообщений: 291
30.09.2014, 00:43 #10
][акер, http://en.cppreference.com/w/cpp/string/basic_string/stol
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <string>
 
int main()
{
    std::string str1 = "45";
    std::string str2 = "3.14159";
    std::string str3 = "31337 with words";
    std::string str4 = "words and 2";
 
    int myint1 = std::stoi(str1);
    int myint2 = std::stoi(str2);
    int myint3 = std::stoi(str3);
    // error: 'std::invalid_argument'
    // int myint4 = std::stoi(str4);
 
    std::cout << "std::stoi(\"" << str1 << "\") is " << myint1 << '\n';
    std::cout << "std::stoi(\"" << str2 << "\") is " << myint2 << '\n';
    std::cout << "std::stoi(\"" << str3 << "\") is " << myint3 << '\n';
    //std::cout << "std::stoi(\"" << str4 << "\") is " << myint4 << '\n';
}
0
Mr.X
Эксперт С++
3051 / 1696 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
30.09.2014, 02:55 #11
std::to_string
0
Димферон
3 / 3 / 2
Регистрация: 06.02.2014
Сообщений: 14
30.09.2014, 10:27 #12
Та же функция перевода int значений в string, но уже с учетом знака "-".
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
    std::string IntToString(int a){
        std::string temp;
        int i = 0;
        int _a = a;
        if (a<0)
            {
            _a = -1*a;
            }
        while (_a != 0){
            int b = _a/10;
            int c = _a - b*10;
            _a /= 10;
            char s = 48+c;
            temp += s;
            i++;
            }
        for (int i = 0, j = temp.size()-1; i < temp.size()-1; i++, j--){
            char s = temp[i];
            temp[i] = temp[j];
            temp[j] = s;        
            if (i-j == 0)
                {
                break;
                }
            }
        if (a<0)
            {
            temp = "-"+temp;
            }
        return temp;
    }
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
30.09.2014, 11:51 #13
Димферон, 1) НЕ стоит так дико некропостить.
2) Не стоит писать кривые велосипеды. Лучше использовать стандартные функции, но даже если не хочется, лучше юзать что-то подобное:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
std::string convert(int num)
{
   std::string result;
   int number = abs(num);
   while (number)
   {
      result += (number % 10) + 48;
      number /= 10;
   }
   if (num < 0) result += '-';
   std::reverse(result.begin(), result.end());
   return result;
}
0
Димферон
3 / 3 / 2
Регистрация: 06.02.2014
Сообщений: 14
30.09.2014, 17:34 #14
ForEveR, иногда проще сделать свой велосипед, чем найти нужный чужой велик...
0
MrGluck
Модератор
Эксперт CЭксперт С++
7490 / 4605 / 691
Регистрация: 29.11.2010
Сообщений: 12,589
30.09.2014, 18:23 #15
Цитата Сообщение от Димферон Посмотреть сообщение
ForEveR, иногда проще сделать свой велосипед, чем найти нужный чужой велик...
Не в вашем случае
0
30.09.2014, 18:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.09.2014, 18:23
Привет! Вот еще темы с ответами:

Функция перевода целого числа из десятичной системы в p - ичную - C++
Нужно перевести число в p - ичную систему, начиная с двоичной и до шестнадцатиричной как дописать чтобы переводилась в 16-чной системе?(...

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

Самый простой способ конвертации целого числа в строку - C++
всем привет! подскажите самый простой способ конвертации int to string (или string to int), без разницы, какой проще. знаю о itoa, но...

. Дана строка, изображающая десятичную запись целого положительного числа. Вывести строку, изображающую двоичную запись этого же числа - C++
срочно помогите пожалуйста


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

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

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