Является ли строка числом в вводе в C#
Мне нужно написать проверку на C#. Проверка заключается в следующем, как проверить ввод пользователя и понять это строка является числом или строкой. Например мне надо, чтобы пользователь заполнил массив и если он вводит не целое число, то программа будет выдавать «Введите число». Есть идеи, как это можно реализовать?
Отслеживать
задан 25 авг 2020 в 17:18
359 2 2 золотых знака 4 4 серебряных знака 14 14 бронзовых знаков
25 авг 2020 в 17:22
Большое вам спасибо. Ибо я только начинаю изучать C# любой совет мне очень полезен.
25 авг 2020 в 17:24
ru.stackoverflow.com/questions/1144663/… – мой ответ на подобный вопрос (не дубликат)
25 авг 2020 в 17:25
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Просто дополню комментарии примером
while (true) < Console.Write("Введите число: "); string text = Console.ReadLine(); if (int.TryParse(text, out int number)) < Console.WriteLine("Вы ввели число ", number); break; > Console.WriteLine("Не удалось распознать число, попробуйте еще раз."); >
Отслеживать
ответ дан 25 авг 2020 в 17:40
48.4k 5 5 золотых знаков 22 22 серебряных знака 57 57 бронзовых знаков
Спасибо вам огромное
25 авг 2020 в 19:56
Есть метод для char — IsDigit
bool StringIsDigits(string s) < foreach(var item in s) < if(!char.IsDigit(item)) return false; //если хоть один символ не число, то выкидываешь "ложь" >return true; //если ни разу не выбило в цикле, значит, все символы - это цифры >
Отслеживать
ответ дан 26 авг 2020 в 4:46
Johannes Krauser III Johannes Krauser III
109 5 5 бронзовых знаков
- c#
- строки
-
Важное на Мете
Связанные
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.9.3159
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Как проверить, является ли строка допустимым числом в JavaScript

Ситуация, когда необходимо убедиться, что строка является допустимым числом, встречается довольно часто. Например, при обработке пользовательского ввода или при анализе данных, полученных из внешнего источника.
let userInput = "1234";
Существует несколько способов проверить, является ли строка допустимым числом в JavaScript.
Способ 1: Использование функции isNaN()
Первый и самый простой способ — использовать встроенную функцию isNaN() , которая возвращает true , если аргумент не является числом, и false , если является.
let userInput = "1234"; let isNumber = !isNaN(userInput);
Однако эта функция может дать ложные срабатывания для некоторых значений, таких как пустые строки, null , true и false , которые будут преобразованы в числа.
Способ 2: Использовать регулярные выражения
Второй способ — использовать регулярные выражения для проверки, соответствует ли строка формату числа.
let userInput = "1234"; let isNumber = /^\d+$/.test(userInput);
Этот метод будет работать только для целых чисел. Для дробных чисел можно использовать следующее регулярное выражение:
let userInput = "1234.56"; let isNumber = /^\d+(\.\d+)?$/.test(userInput);
Способ 3: Использование функции Number()
Третий способ — использовать функцию Number() , которая преобразует аргумент в число. Если аргумент не может быть преобразован в число, функция возвращает NaN .
let userInput = "1234"; let isNumber = !isNaN(Number(userInput));
Этот метод также будет работать для дробных чисел.
В заключение, все эти методы имеют свои преимущества и недостатки, выбор метода зависит от конкретной ситуации.
Проверка строки на числовое значение в Python
Часто в ходе работы с Python возникает необходимость проверить, является ли строка числовым значением. Например, при обработке пользовательского ввода или при чтении данных из файла. В этих случаях, данные часто представлены в виде строк и могут содержать числовые значения, записанные как строки.
Рассмотрим пример: есть строка ‘123’ и есть необходимость узнать, является ли это число.
s = '123'
Самый простой и распространенный подход для проверки строки на числовое значение в Python — это использование обработки исключений.
Сначала попытаться преобразовать строку в число с помощью функции float() . Если преобразование прошло успешно, значит строка содержит числовое значение. Если во время преобразования произошла ошибка ValueError , значит строка не является числом.
def is_number(s): try: float(s) return True except ValueError: return False
Однако, этот подход может показаться немного громоздким, особенно для новичков.
Существует другой способ, который использует регулярные выражения.
import re def is_number(s): if re.match("^\d+?\.\d+?$", s) is None: return s.isdigit() return True
В этом примере используется функция re.match() , которая проверяет, соответствует ли строка заданному регулярному выражению. В данном случае проверяется, является ли строка числом с плавающей точкой. Если это не так, то с помощью метода isdigit() проверяется, является ли строка целым числом.
Оба подхода могут быть использованы в зависимости от конкретной ситуации и предпочтений разработчика.
Как проверить строку на цифры java
Для того, чтобы проверить строку на цифры, можно воспользоваться методами класса StringUtils из библиотеки Apache Commons Lang . Этот класс содержит множество полезных методов, которые упрощают работу со строками. Для начала нужно установить в проект новую зависимость. Если вы используете gradle, нужно добавить в файл build.gradle в секцию dependencies такой код:
implementation 'org.apache.commons:commons-lang3:3.12.0'
Затем класс нужно импортировать в том месте, где вы планируете его использовать:
import org.apache.commons.lang3.StringUtils;
Для проверки строки на цифры, в классе есть статический метод isNumeric() . В качестве аргумента метод принимает последовательность символов CharSequence и возвращает булево значение в зависимости от того, состоит ли строка только из цифр.
StringUtils.isNumeric("hello"); // false StringUtils.isNumeric("hello12"); // false StringUtils.isNumeric("123"); // true