1 / 1 / 1
Регистрация: 13.03.2012
Сообщений: 424
1

Проверка является ли строка числом полностью числом или нет?

14.05.2015, 00:43. Показов 4146. Ответов 4
Метки нет (Все метки)

как проверить является ли строка типа "23уар" полностью числом или нет?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.05.2015, 00:43
Ответы с готовыми решениями:

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

Проверка, является значение числом или символом
добрый день как мне проверить что было введено в std::string message; то есть если в переменной...

Проверка, является значение числом или символом
Мне надо ввести число в переменную, но я хочу проверить значение её, тоесть она число или символ. Я...

Проверить, является ли введенное значение числом или нет
Здрасти. как проверить число на то, является ли оно им или нет. Пробовал с помощью cin.good(), и с...

4
lss
939 / 867 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
14.05.2015, 00:50 2
Цитата Сообщение от Семан Посмотреть сообщение
является ли строка типа "23уар" полностью числом или нет?
Целым положительным?
0
Форумчанин
Эксперт CЭксперт С++
8190 / 5040 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
14.05.2015, 00:53 3
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
#include <regex>
 
int main()
{
    const std::string str = "23уар";
    std::regex reg("-?\\d+");
    std::cout << std::boolalpha << std::regex_match(str, reg) << std::endl;
}
Если по старинке, то isdigit
Но мне неохота писать велосипеды, учитывающие минус.
0
lss
939 / 867 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
14.05.2015, 01:00 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
 
int main()
{ 
    stringstream s("23уар");
    double n;
    s >> n;
    if (s && s.eof())
        cout << "Yes!" << endl;
    else
        cout << "No!" << endl;
    
    system("pause");     
}
0
Форумчанин
Эксперт CЭксперт С++
8190 / 5040 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
14.05.2015, 01:04 5
Лучший ответ Сообщение было отмечено Семан как решение

Решение

Забыл у себя в первом варианте
C++
1
#include <string>
Всё-таки накатал самодельную проверку. В отличии от решения с регулярками, полной уверенности в корректности нет.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
 
bool check(const std::string &str)
{
    for (auto it = str.cbegin(); it != str.cend(); it++)
        if (!isdigit(*it) && (it != str.cbegin() || *it != '-' || str.length() == 1))
            return false;
 
    return !str.empty();
}
 
int main()
{
    const std::string str = "23уар";
    std::cout << std::boolalpha << check(str) << std::endl;
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.05.2015, 01:04
Помогаю со студенческими работами здесь

Проверка строки (является ли она целым или вещественным числом)
Нашел функцию isdigit(). Вычитал про нее таку. штуку: Функция isdigit используется для проверки...

Строка: Проверить, является ли заданный символ буквой, числом или специальным символом?
Напишите программу, в которой пользователь должен ввести 1 символ. По окончанию программа должна...

Проверить является ли строка числом
Задание такое (определите, состоит ли хотя бы одна из строк S1, S2 и S3 только из цифр, если да,...

Функция проверяющая является ли строка числом
Реализовать функцию IsNumber(s), возвращающую true, если строка s содержит целое десятичное число,...


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

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

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