@Vladosik228

Как в c++ сделать проверку на число и чтоб например если несколько точек в числе или минус в середине была ошибка и возвращало обратно к вводу?

как в c++ сделать проверку на число и чтоб если несколько точек в числе или минус в середине была ошибка и возвращало обратно к вводу, то есть нужно чтоб прям на любой неверный ввод был а ошибка и возвращалось все к вводу того числа где ошибка
  • Вопрос задан
  • 231 просмотр
Пригласить эксперта
Ответы на вопрос 2
wataru
@wataru Куратор тега C++
Разработчик на С++, экс-олимпиадник.
Читайте строку. Потом каким-нибудь stol преобразуйте в число.
Не забудьте использовать опциональный параметр idx, чтобы проверить, что вся введенная строка была распарщена.

Так "123-32" распарсит 123 и вернет как число, но idx укажет на -, а не на конец строки.
Ответ написан
Комментировать
mayton2019
@mayton2019
Bigdata Engineer
Проверить что внутри строки - нечто похожее на число - это одна задача. Ее можно сделать регуляркой. А сделать кастинг его к int/long/float/double - это другая задача.

Некоторые числа бывают слишком большие и не влезают даже в long (64) и некоторые вещественные могут иметь множитель 10 в степени 310 и это не лезет в double. Мне сложно такое представить но теоретически пользователь может такое ввести.

Какую задачу решает автор? Что будет дальше происходить с введенным числом?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы