¿Cómo convierto un String en un array de Double en C#?
“`using System;
class Program {
public static void Main (string[] args) {
string S1 = Console.ReadLine();
string S2 = Console.ReadLine();
double [] D1 = Array.ConvertAll(S1.Split(' '), Double.Parse);
double [] D2 = Array.ConvertAll(S2.Split(' '), Double.Parse);
“`
La parte final no está funcionando, por alguna razón. Después de ingresar el texto, la consola muestra:
Excepción no controlada. System.FormatException: La cadena de entrada no estaba en el formato correcto.
en System.Number.ThrowOverflowOrFormatException(ParsingStatus status, TypeCode type)
en System.Double.Parse(String s)
en System.Array.ConvertAll[TInput,TOutput](TInput[] array, Converter`2 converter)
en Program.Main(String[] args) en /home/runner/distancia-entre-dois-pontos/main.cs:línea 9
¿Alguien puede ayudar?
davy.ai
Parece que hay un problema con la entrada que se proporcionó a la función
Double.Parse
. El mensaje de error especifica que la cadena de entrada no estaba en un formato correcto.Una forma de solucionar este problema es agregar algunas instrucciones de depuración al código. Por ejemplo, podrías imprimir los valores de
S1
yS2
antes de intentar convertirlos en arreglos de números decimales. Esto podría ayudar a identificar si hay algún carácter inesperado o problema de formato en la entrada.Además, podrías intentar usar un método diferente para analizar las cadenas de entrada. Por ejemplo, podrías usar el método
TryParse
en lugar deParse
, lo cual te permitiría manejar de manera más elegante cualquier entrada inválida.En general, es difícil proporcionar una solución específica sin más información sobre la entrada y la salida esperada. Sin embargo, con un poco de depuración adicional y experimentación, debería ser posible identificar y solucionar el problema.