Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/35: Рейтинг темы: голосов - 35, средняя оценка - 4.80
ilya_123
1 / 1 / 0
Регистрация: 05.01.2012
Сообщений: 11
1

Преобразование string в int

22.01.2012, 10:29. Просмотров 6793. Ответов 12
Метки нет (Все метки)

нужно текст (string) из textBox преобразовать в число (int)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2012, 10:29
Ответы с готовыми решениями:

Преобразование string в int
Добрый день. Есть переменная типа string, в которой записана цифра. Как мою...

Преобразование string в int
подскажите, как правильно преобразовать string в int без изменения строк 7-8 и...

Преобразование string в int
у меня вот какая проблема.Я пытаюсь считывать строку,искать в ней числа и...

Преобразование string в int
Всем привет, нужно преобразовать string в int #include <iostream> #include...

Преобразование int в string
не могу не как реализовать преобразование int в string, подскажите как это...

12
m0nAde
4 / 4 / 3
Регистрация: 03.09.2011
Сообщений: 26
22.01.2012, 11:58 2
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
32
// StringToInt.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include "iostream.h"
#include "string.h"
#include "stdlib.h"
 
int MyAtoi(char[]);
int main(int argc, char* argv[])
{
    char a[100]="437657";
    int k=MyAtoi(a);
    cout<<k<<endl;
    return 0;
}
int MyAtoi(char a[])
{
    int s=0;
    int al=strlen(a);
    int k=1;
    for(int i=0;i<al-1;i++)
    {
        k*=10;
    }
    for(i=0;a[i]!=0;i++)
    {
        s+=(a[i]-'0')*k;
        k/=10;
    }
    return s;
}
Добавлено через 4 минуты
Это стандартное функция Атои,(Arround To Integer)
а если вам надо преоброзовать стринг (т.е. коди символов в инт),честно говоря не знаю где это прегодится,но ща напишу этт алгаритм...

Добавлено через 4 минуты
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
// StringToIntSimbols.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include "iostream.h"
#include "string.h"
 
 
int main(int argc, char* argv[])
{
    char a[100]="dsvjn zsv cjb";
    int s=0;
    for(int i=0;a[i]!=0;i++)
    {
        cout<<(int)a[i]<<endl;
    }
    cout<<endl;
    for(i=0;a[i]!=0;i++)
    {
        s+=(int)a[i];
    }
    cout<<s<<endl;
    return 0;
}
0
go
Эксперт С++
3637 / 1369 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
22.01.2012, 12:09 3
m0nAde, речь идет о std::string, наверное. Для cha* есть strtok, etc.
0
Ilyawow
26 / 26 / 7
Регистрация: 18.11.2011
Сообщений: 266
22.01.2012, 16:39 4
в Си можно сделать так. нашел в строке откуда начинается отсчет а там sscanf
0
I.M.
567 / 550 / 47
Регистрация: 16.12.2011
Сообщений: 1,389
22.01.2012, 16:44 5
Если вам нужно перевести std::string в int, то можете использовать промежуточный тип std::stringstream. Точно не помню, но вроде бы должно выглядеть как-то так.

C++
1
2
3
4
5
std::stringstream A;
std::string B = "123";
int C;
A << B;
A >> C;
2
petrole
2 / 2 / 0
Регистрация: 22.01.2012
Сообщений: 6
22.01.2012, 16:51 6
string можно представить в виде char* c помощью функции c_str();

C++
1
2
string test="12345";
int a=atoi( test.c_str() );
Должно работать.
1
m0nAde
4 / 4 / 3
Регистрация: 03.09.2011
Сообщений: 26
27.01.2012, 11:39 7
aaa понятно,я не дошел до этого раздела
0
go
Эксперт С++
3637 / 1369 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
27.01.2012, 11:53 8
Вот, как вариант
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <string>
#include <boost/lexical_cast.hpp>
 
int main()
{
        std::string str("123");
        int val = boost::lexical_cast<int>(str);
        
        std::cout << val << std::endl;
        
        return 0;
}
http://liveworkspace.org/code/75f5849f08567abcf2b413aa67d75c0e
0
n971030
154 / 101 / 4
Регистрация: 23.01.2010
Сообщений: 1,317
27.01.2012, 11:57 9
Цитата Сообщение от go Посмотреть сообщение
Вот, как вариант
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <string>
#include <boost/lexical_cast.hpp>
 
int main()
{
        std::string str("123");
        int val = boost::lexical_cast<int>(str);
        
        std::cout << val << std::endl;
        
        return 0;
}
http://liveworkspace.org/code/75f5849f08567abcf2b413aa67d75c0e
добрый день - ятока начал изучать с++ но почему такой геморой разве нет функции типо как в delphi

- IntToStr(value: int)
- StrToInt(value: string) (вход стринг "12345" а выход целое 12345)

такого аналога нет?
0
go
Эксперт С++
3637 / 1369 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
27.01.2012, 11:59 10
Цитата Сообщение от n971030 Посмотреть сообщение
такого аналога нет?
C++
1
2
boost::lexical_cast<int>(str);
boost::lexical_cast<std::string>(integer);

Все есть.
0
rangerx
1944 / 1553 / 478
Регистрация: 31.05.2009
Сообщений: 2,913
27.01.2012, 12:52 11
Цитата Сообщение от n971030 Посмотреть сообщение
добрый день - ятока начал изучать с++ но почему такой геморой разве нет функции типо как в delphi
http://www.cyberforum.ru/cpp-beginne...ml#post2411588
0
n971030
154 / 101 / 4
Регистрация: 23.01.2010
Сообщений: 1,317
27.01.2012, 15:03 12
Цитата Сообщение от go Посмотреть сообщение
C++
1
2
boost::lexical_cast<int>(str);
boost::lexical_cast<std::string>(integer);

Все есть.
а че как сложно то???
0
diagon
Higher
1937 / 1203 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
27.01.2012, 15:39 13
Цитата Сообщение от n971030 Посмотреть сообщение
а че как сложно то???
Универсальность же. Одна функция для перегонки любого поддерживаемого типа в любой.
И ничего сложного здесь нету.
0
27.01.2012, 15:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.01.2012, 15:39

Преобразование string в int
Помогите пожалуйста с преобразованием string к типу int, быть может не напрямую...

Разбиение строки и преобразование string в int
Пользователь вводит цену товара таким образом: 20-55. Нужно разбить данную...

Преобразование int в string с сохранением нулей
Вот код int a = 00000; printf(&quot;%09d&quot;, a); Благодаря 09d сохраняет...


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

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

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