Как на C# сделать проверку что в переменной содержатся только цифры? Нужно чтоб если содержатся только цифры то выход по зеленой, если содержится что то ещё кроме цифр то выход по красной.
// Текст для обработки
string text = project.ExecuteMacro("123");
var errorIfEmpty = true;
var regexGroups = Macros.TextProcessing.Regex(text, @"\d", "0");
if (regexGroups.Count == 0)
{
if (errorIfEmpty) throw new Exception();
}
else
{
project.Variables["res"].Value = regexGroups[0].FirstOrDefault();
}
return Regex.IsMatch(project.Variables["v"].Value, @"^\d+$");
string bla = "ger12345s";
char[] mass = bla.ToCharArray();
foreach(char s in mass) if(!Char.IsDigit(s)) throw new Exception("");
if(!string.IsNullOrEmpty(Regex.Replace(project.Variables["var"].Value, @"^\d+$", "")))
throw new Exception();
int.Parse(project.Variables["var"].Value);
Оставил этот вариант, то что нужно. Всем большое спасибо!C#:if(!string.IsNullOrEmpty(Regex.Replace(project.Variables["var"].Value, @"^\d+$", ""))) throw new Exception();
Этот вариант вообще огонь.или так
C#:int.Parse(project.Variables["var"].Value);
этот вариант работает не всегдаint.Parse(project.Variables["var"].Value);
Будет ошибка, если число в строке окажется большеint.Parse(project.Variables["var"].Value);
Int32.MaxValue
var str = project.Variables["sms_Code"].Value;
if (Regex.Match(str, @"\d").Success)
{
//Содержит цифру, выход по зеленой
return true;
}
else
{
//Не содержит цифру, выход по красной
throw new Exception();
}
Закидываю решение на случай если у кого возникнет подобная задача:Ребят, а подскажите еще такое: допустим нужно не только цифры, но внутри цифры могут быть разделители (точки или запятые)
например 5.0 или 4,1
string parametr_name = System.Text.RegularExpressions.Regex.Replace(project.Variables["parametr_name"].Value, @"\.|,", "");
if(!string.IsNullOrEmpty(Regex.Replace(parametr_name, @"^\d+$", "")))
throw new Exception();
Ещё бы отлов пустого значения и NULL сюда прикрутить, и вообще огонь будет )Закидываю решение на случай если у кого возникнет подобная задача:
C#:string parametr_name = System.Text.RegularExpressions.Regex.Replace(project.Variables["parametr_name"].Value, @"\.|,", ""); if(!string.IsNullOrEmpty(Regex.Replace(parametr_name, @"^\d+$", ""))) throw new Exception();
попробуйте такЕщё бы отлов пустого значения и NULL сюда прикрутить, и вообще огонь будет )
string parametr_name = System.Text.RegularExpressions.Regex.Replace(project.Variables["parametr_name"].Value, @".|,", "");
if(parametr_name == null || string.IsNullOrEmpty(Regex.Replace(parametr_name, @"^\d+$", "")))
throw new Exception();