2 / 2 / 0
Регистрация: 23.06.2014
Сообщений: 167
1

Перевод числа из массива char в целочисельное значение int

04.08.2015, 17:12. Показов 867. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Приведу пример:
C++
1
2
char* pDigit = new char[45];
cin>>pDigit;
предположим человек вводит: "432dollars"

как в данном случае достать число 432? И, например, занести его в int переменную.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.08.2015, 17:12
Ответы с готовыми решениями:

Перевод массива из char в int
есть массив символьного типа. нужно перевести его в тип int для того, что бы далее производить над...

Перевод char массива в int массив
Делаю так: int inmas; char outmas; fgets(outmas,40,write); outmas2=atoi(outmas); Пишет что...

Перевод элементов массива char в int
Задача о золотом песке. Во входном файле 6 чисел, первые три стоимость за килограмм каждого вида...

Перевод массива char в массив int (в чем ошибка?)
не могу понять почему не работает функция void StrToIntMass (int element, char buffer) {...

5
553 / 361 / 206
Регистрация: 27.11.2014
Сообщений: 1,049
04.08.2015, 17:18 2
C++
1
int i = atoi(pDigit);
0
805 / 532 / 158
Регистрация: 27.01.2015
Сообщений: 3,017
Записей в блоге: 1
04.08.2015, 17:19 3
или каждый символ массива прогнать функцией isdigit из стандартной библиотеки, если вернулось true, то запомнить этот символ
0
60 / 11 / 4
Регистрация: 09.09.2014
Сообщений: 182
04.08.2015, 17:37 4
ture, посмотрите сами, что выйдет
C++
1
printf("%d\n",atoi("a342doll"));
Добавлено через 5 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
const int strsize = 35;
    char *pDigit = new char[strsize];
    memset( pDigit, 0, strsize );// заполнить массив 0ями для корректности
    cin >> pDigit;
    int digit = 0;
    for( int i = 0; i < strnlen_s( pDigit, strsize );i++){
        if( pDigit[i] >= '0' && pDigit[i] <= '9' ){
            digit *= 10;
            digit += pDigit[i] - 0x30;// чары с 0 по 9 имеют значения соответсвенно с 0х30 по 0х39
        }
    }
    printf("%d\n",digit);
    delete []pDigit;
0
553 / 361 / 206
Регистрация: 27.11.2014
Сообщений: 1,049
04.08.2015, 17:48 5
Eraston, можно еще регулярками накрыть
0
60 / 11 / 4
Регистрация: 09.09.2014
Сообщений: 182
04.08.2015, 18:10 6
ture, лично у меня еще мало опыта работы со строками и текстами, так то для меня тёмный лес =)
0
04.08.2015, 18:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.08.2015, 18:10
Помогаю со студенческими работами здесь

Перевод char в int
Доброго времени суток, форумчане:senor:. Начинаю углубляться с++ вместе с заданием по курсовой:)...

Перевод *char в int[] c++
Нужно перевести длинное число которое хранится в виде &quot;+/-324354365654656&quot; в char* в массив int....

Перевод char в int
Доброго времени суток. покопался по схожим темам,но так и не нашёл ответа. На вводе с клвиатуры...

Перевод из char в int
нужно перевести из char в int, способ перевода следующий: &quot;значение цифры равно значению ее...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru