예제 #1
0
        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);
        }
예제 #2
0
        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);
        }