OsvaldoFernandoQueta Ответов: 1

Как решить, что входная строка была не в правильном формате. / Комо арбитр в sequência де энтрада не чувствую я никакого формата correto.


Me ajuda a resolver este problemas amigo, confesso que não vi uma forma de validar para resolver.

Google Translate:
Помогите мне решить эту проблему, друг, признаюсь, что я не видел способа проверить, чтобы решить ее.


Что я уже пробовал:

using System;
using System.Globalization;

namespace _1002
{
    class Program
    {
        static void Main(string[] args)
        {
            double R = Convert.ToDouble(Console.ReadLine());
            double A = Math.PI * Math.Pow(R, R);
            Console.WriteLine("A = " +A.ToString("F4",CultureInfo.InvariantCulture));
           // Console.ReadLine();
        }
    }
}

Patrice T

Английский, пожалуйста.

1 Ответов

Рейтинг:
2

OriginalGriff

Вы не можете "решить" проблему в формате строки put: она говорит, что это значит: пользователь ввел значение, которое не может быть интерпретировано как допустимое double

Вы можете предотвратить приложения от сбоев :

double R;
while (true)
   {
   Console.Write("Please enter the radius of the circle :"); 
   string input = Console.ReadLine();
   if (double.TryParse(input, out R))
      {
      break;
      }
   Console.WriteLine($"\"{input}\" is not a valid number.");
   }
double A = Math.PI * Math.Pow(R, R);
Console.WriteLine("A = ", A.ToString("F4",CultureInfo.InvariantCulture));


Richard Deeming

Я не могу заставить его разбиться, но я ... мочь сделайте его выходным NaN вместо числа! :Д