Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/120: Рейтинг темы: голосов - 120, средняя оценка - 4.85
#define книжный_червь Я
 Аватар для ][акер
185 / 96 / 21
Регистрация: 30.01.2010
Сообщений: 780

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

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

Студворк — интернет-сервис помощи студентам
Подскажите, пожалуйста, этакую функцию!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.06.2010, 22:13
Ответы с готовыми решениями:

Функции преобразования целого и вещественного числа в строку
У меня есть задача написать функции преобразования целого и вещественного числа в строку, но дело в том что запрещено использовать...

Рекурсивная функция целого типа, которая находит сумму цифр целого числа.
Пожалуйста ,помогите Написать рекурсивную функцию целого типа, которая находит сумму цифр целого числа*K, не*используя оператор цикла....

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

14
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
29.06.2010, 22:14
itoa, sprintf
0
#define книжный_червь Я
 Аватар для ][акер
185 / 96 / 21
Регистрация: 30.01.2010
Сообщений: 780
29.06.2010, 22:15  [ТС]
А поподробнее?
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
29.06.2010, 22:21
itoa преобразует инт в чар. Имеет вроде бы такой синтаксис: itoa(интовая переменная, чар указатель вроде как, 10)

void itoa(int input, char *buffer, int radix)
string sprintf (string format [, mixed args])
0
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
29.06.2010, 22:30
[акер;832864]А поподробнее?
msdn, google?
0
 Аватар для kazak
3602 / 2743 / 355
Регистрация: 11.03.2009
Сообщений: 6,304
29.06.2010, 22:34
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
Эксперт С++
 Аватар для Хохол
476 / 444 / 34
Регистрация: 20.11.2009
Сообщений: 1,293
29.06.2010, 23:15
мож пригодится
C++
1
2
3
4
5
6
string itoa(int n)
{
     char buf[20];
     sprintf(buf,"%d",n);
     return buf;
}
1
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
30.06.2010, 00:49
на С++ вот так ещё можно:
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
Сообщений: 18
30.09.2014, 00:04
Вот функция для преобразования любого 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
И целого heap'а мало
 Аватар для Andrej
96 / 57 / 17
Регистрация: 31.07.2014
Сообщений: 291
30.09.2014, 00:43
][акер, http://en.cppreference.com/w/c... tring/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
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
30.09.2014, 02:55
std::to_string
0
 Аватар для Димферон
3 / 3 / 2
Регистрация: 06.02.2014
Сообщений: 18
30.09.2014, 10:27
Та же функция перевода 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
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
30.09.2014, 11:51
Димферон, 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
Сообщений: 18
30.09.2014, 17:34
ForEveR, иногда проще сделать свой велосипед, чем найти нужный чужой велик...
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
30.09.2014, 18:23
Цитата Сообщение от Димферон Посмотреть сообщение
ForEveR, иногда проще сделать свой велосипед, чем найти нужный чужой велик...
Не в вашем случае
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.09.2014, 18:23
Помогаю со студенческими работами здесь

Составить программу преобразования целого положительного числа
Нужно сделать в Tasm. Составить программу (для 16-разрядного процессора), реализующую следующее задание: Составить программу...

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

Программа преобразования целого числа в число, записанное русскими словами
Написать программу, преобразующую введенное c клавиатуры целое число типа longint в число, записанное русскими словами. Заранее...

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

Получить сумму последних m цифр числа n, не используя преобразования числа в строку
Даны натуральные числа n и m. Получить сумму последних m цифр числа n, не используя преобразования числа в строку.


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru