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

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

Войти
Регистрация
Восстановить пароль
 
FrolBrol
14 / 14 / 2
Регистрация: 02.01.2012
Сообщений: 73
#1

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

19.10.2012, 22:05. Просмотров 878. Ответов 9
Метки нет (Все метки)

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

Преобразование из строки в число - C++
только начала программировать на С. то есть, буквально только что открыла 10й Билдер))) такой вопрос: есть ли в С Билдере функция...

Преобразование строки в число - C++
Здравствуйте. Преобразовываю строку в число с помощью функции atoi(), но есть одна проблема: int number; ...

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

Преобразование строки в число - C++
Есть строка с цифрами разделенная точкой с запятой: 1, 2, 3 string s = "1, 2, 3"; Как мне из этой строки достать по очереди все цифры и...

Преобразование строки в число? - C++
Написал функцию, которая введенную преобразует в число. Но при выводе пишет, что она хранит не введенное число, а 0. В чем я ошибся? ...

Преобразование строки в число - C++
Вот код из учебника #include<iostream> using std::cout;using std::endl; int main(){ char str="0123456789"; const int SIZE=10; ...

9
CEBEP
106 / 106 / 9
Регистрация: 21.03.2010
Сообщений: 440
19.10.2012, 22:14 #2
atoi google
0
PinkPink
9 / 9 / 2
Регистрация: 10.05.2012
Сообщений: 279
19.10.2012, 23:10 #3
Цитата Сообщение от FrolBrol Посмотреть сообщение
какой аналог есть в c++ на strtoint inttostr?
функция int atoi(const char * str);
преобразует строку в число.
0
ZaMaZaN4iK
Мой лучший друг-отладчик!
164 / 164 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
20.10.2012, 00:22 #4
из строки в целое число - atoi()
из строки в дробное число - atof()
из целого числа в строку - itoa()
1
CEBEP
106 / 106 / 9
Регистрация: 21.03.2010
Сообщений: 440
20.10.2012, 01:21 #5
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
33
34
35
36
37
38
39
40
#include <cmath>
 
double arrayToInteger(const char* st)
{
    double ret = 0;
    const int sign = *st == '-' ? -1 : 1;
    st += *st == '+' || *st == '-';
    while (*st >= '0' && *st <= '9')
    {
        ret *= 10.;
        ret += *st - '0';
        ++st;
    }
    if (*st == '.')
    {
        ++st;
        double k = 1;
        while (*st >= '0' && *st <= '9')
        {
            k /= 10;
            ret += k * (*st - '0');
            ++st;
        }
    }
    if (*st == 'e')
    {
        ++st;
        int p = 0;
        const int s = *st == '-' ? -1 : 1;
        st += *st == '+' || *st == '-';
        while (*st >= '0' && *st <= '9')
        {
            p *= 10;
            p += *st - '0';
            ++st;
        }
        return sign * ret * pow(10., p * s);
    }
    return sign * ret;
}
1
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
20.10.2012, 01:59 #6
CEBEP, arrayToInteger должна возвращать int. М.б. arrayToDouble?
0
CEBEP
106 / 106 / 9
Регистрация: 21.03.2010
Сообщений: 440
20.10.2012, 09:54 #7
I.M., сори, не тестил. Действительно оно возвращает double. Как-то не обратил внимания.

Не по теме:

На самом деле парню достаточно было загуглить то что я написал в самом первом ответе, для чего написаны остальные 5 я понять не могу... Очевидно, они имеют мало общего с темой топика и лучше понимать их как флуд.

0
silent_1991
Эксперт С++
4984 / 3041 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
24.10.2012, 11:10 #8
atoi и её аналоги плохи тем, что при ошибке разбора возвращает 0, что невозможно отличить от разбора строки "0". itoa вообще не является стандартной. Поскольку мы в разделе С++, посоветовал бы глядеть в сторону stringstream'ов, а то и boost::lexical_cast.
1
DiffEreD
1430 / 767 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
24.10.2012, 11:21 #9
Не помешало бы упомянуть еще и std::stoul, std::stoull, std::stod и их аналоги.
0
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
24.10.2012, 14:35 #10
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
 
int main()
{
 string str = "-345";
 int n = 0;
 
 stringstream s;
 
 s << str;
 s >> n;
 cout << n * 2 <<  endl;
 
 system("pause");
 return 0;
}
0
Миниатюры
Преобразование строки в число  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.10.2012, 14:35
Привет! Вот еще темы с ответами:

Преобразование строки в число - C++
А как многоразрядные числа из строки преобразовать? Если я использую string?

Преобразование строки в число - C++
Почему не работает функция StrToInt, хоть библиотеку подключил stdlib.h

Преобразование строки в число - C++
Имеется переменная строкового типа string. У нее такой формат: 1561 1 6.87208 4.52665 0.10226 2.16762 Нужно написать такую функцию,...

Преобразование char16_t строки в число - C++
Ну очень тупой вопрос - как стандартными средствами C++ преобразовать char16_t строку в число? В strtol не лезет, в wcstol не лезет,...


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

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

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