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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 69, средняя оценка - 4.88
][акер
#define книжный_червь Я
 Аватар для ][акер
182 / 93 / 6
Регистрация: 30.01.2010
Сообщений: 780
29.06.2010, 22:13     Функция преобразования целого числа в строку #1
Подскажите, пожалуйста, этакую функцию!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.06.2010, 22:13     Функция преобразования целого числа в строку
Посмотрите здесь:

Функция, переставляющая цифры заданного целого числа в обратном порядке C++
Функция для преобразования double в строку символов. C++
Написать функцию itoa (n,s) преобразования целого числа n в стринг s C++
Процедура преобразования целого числа символов C++
перевод целого десятичного числа в строку и обратно в десятичное число C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
29.06.2010, 22:14     Функция преобразования целого числа в строку #2
itoa, sprintf
][акер
#define книжный_червь Я
 Аватар для ][акер
182 / 93 / 6
Регистрация: 30.01.2010
Сообщений: 780
29.06.2010, 22:15  [ТС]     Функция преобразования целого числа в строку #3
А поподробнее?
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
29.06.2010, 22:21     Функция преобразования целого числа в строку #4
itoa преобразует инт в чар. Имеет вроде бы такой синтаксис: itoa(интовая переменная, чар указатель вроде как, 10)

void itoa(int input, char *buffer, int radix)
string sprintf (string format [, mixed args])
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
29.06.2010, 22:30     Функция преобразования целого числа в строку #5
[акер;832864]А поподробнее?
msdn, google?
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
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.
Хохол
Эксперт C++
 Аватар для Хохол
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;
}
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
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;
}
Димферон
 Аватар для Димферон
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;
    }
Andrej
И целого heap'а мало
 Аватар для Andrej
93 / 54 / 9
Регистрация: 31.07.2014
Сообщений: 293
30.09.2014, 00:43     Функция преобразования целого числа в строку #10
][акер, http://en.cppreference.com/w/cpp/str...ic_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';
}
Mr.X
Эксперт С++
 Аватар для Mr.X
2798 / 1574 / 246
Регистрация: 03.05.2010
Сообщений: 3,651
30.09.2014, 02:55     Функция преобразования целого числа в строку #11
std::to_string
Димферон
 Аватар для Димферон
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;
    }
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 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;
}
Димферон
 Аватар для Димферон
3 / 3 / 2
Регистрация: 06.02.2014
Сообщений: 14
30.09.2014, 17:34     Функция преобразования целого числа в строку #14
ForEveR, иногда проще сделать свой велосипед, чем найти нужный чужой велик...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.09.2014, 18:23     Функция преобразования целого числа в строку
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,399
30.09.2014, 18:23     Функция преобразования целого числа в строку #15
Цитата Сообщение от Димферон Посмотреть сообщение
ForEveR, иногда проще сделать свой велосипед, чем найти нужный чужой велик...
Не в вашем случае
Yandex
Объявления
30.09.2014, 18:23     Функция преобразования целого числа в строку
Ответ Создать тему
Опции темы

Текущее время: 05:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru