Задать вопрос

Ошибка ввода, как исправить?

когда я ввожу целочисленные значения все отлично выводит. А когда я ввожу значения с плавающей точкой то выводится ошибка
System.FormatException: "Input string was not in a correct format.".

Я пробовал и "double r = Convert.ToDouble(Console.ReadLine());" не помогает.

целочисленное значения.
Скриншот фрагмента кода удалён модератором.

значения с плавающей точкой.
Скриншот фрагмента кода удалён модератором.

скрин ошибки
Скриншот фрагмента кода удалён модератором.
class Program
    {
        static void Main()
        {
            const double pi = 3.14;
            double radius;
            double ra;
            double r = Convert.ToInt32(Console.ReadLine());
            
            ra = r * r;
            radius = pi * ra;
            Console.WriteLine("Радиус круга: " +radius);
        }
    }
  • Вопрос задан
  • 101 просмотр
Подписаться 1 Простой 1 комментарий
Ответ пользователя oleg_ods К ответам на вопрос (3)
@oleg_ods
В зависимости от локализации ОС в качестве разделителя дробной части может использоваться точка или запятая.

Для локализаций стран СНГ можно добавить
Console.ReadLine().Replace(“.”, “,”)

Тогда будет корректно обрабатывать оба варианта ввода(например «1,2», «1.2»).
Ответ написан
Комментировать