Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
VadimuSSS
2 / 2 / 0
Регистрация: 23.06.2014
Сообщений: 167
#1

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

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

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

как в данном случае достать число 432? И, например, занести его в int переменную.

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.08.2015, 17:12
Ответы с готовыми решениями:

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

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

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

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

Перевод из int в char
Пытаюсь перевести число int в строку char. На экран постоянно выводит какие-то...

5
ture
528 / 336 / 206
Регистрация: 27.11.2014
Сообщений: 1,043
04.08.2015, 17:18 #2
C++
1
int i = atoi(pDigit);
0
Ferrari F1
791 / 521 / 156
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
Завершенные тесты: 1
04.08.2015, 17:19 #3
или каждый символ массива прогнать функцией isdigit из стандартной библиотеки, если вернулось true, то запомнить этот символ
0
Eraston
53 / 10 / 2
Регистрация: 09.09.2014
Сообщений: 128
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
ture
528 / 336 / 206
Регистрация: 27.11.2014
Сообщений: 1,043
04.08.2015, 17:48 #5
Eraston, можно еще регулярками накрыть
0
Eraston
53 / 10 / 2
Регистрация: 09.09.2014
Сообщений: 128
04.08.2015, 18:10 #6
ture, лично у меня еще мало опыта работы со строками и текстами, так то для меня тёмный лес =)
0
04.08.2015, 18:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.08.2015, 18:10

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

Перевод из char в int
Подскажите пожалуйста! У меня имеется массив символов, то бишь строка. Я...

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


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

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

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