public static FormatterResult <double> GetDouble(string input) { FormatterResult <double> res = new FormatterResult <double>(); if (input == null) { res.Errors.Add(FormatterError.Create("Тут нулл :с")); return(res); } if (input.Length == 0) { res.Errors.Add(FormatterError.Create("Строка пустая :с")); return(res); } double t = 0; if (!double.TryParse(input, out t)) { res.Errors.Add(FormatterError.Create("Непалучяецо преобразовать :с")); } if (input.Contains(".")) { res.Errors.Add(FormatterError.Create("НИЗЯ ТОЧКУ, НАДО ЗАПЯТУУУУЮ :с")); } res.Value = t; return(res); }
private static double GetDouble() { FormatterResult <double> res = null; do { string inp = Console.ReadLine(); res = StringFormatter.GetDouble(inp); if (res.IsValid) { Console.WriteLine("Нармальна!"); } else { Console.WriteLine("Ашыпки:"); string s = string.Join("\n", res.Errors.Select(xs => xs.Message)); Console.WriteLine(s); } }while (!res.IsValid); return(res.Value.Value); }