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

когда я ввожу целочисленные значения все отлично выводит. А когда я ввожу значения с плавающей точкой то выводится ошибка
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);
        }
    }
  • Вопрос задан
  • 93 просмотра
Решения вопроса 1
BasiC2k
@BasiC2k
.NET developer (open to job offers)
Замените строку
double r = Convert.ToInt32(Console.ReadLine());
на
double r = double.Parse(Console.ReadLine());
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
vabka
@vabka Куратор тега C#
Токсичный шарпист
Попробуй писать целую и дробную часть либо через точку, либо через запятую
Ответ написан
Комментировать
@oleg_ods
В зависимости от локализации ОС в качестве разделителя дробной части может использоваться точка или запятая.

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

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

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы