Aquí hay cuatro métodos para hacer lo que quieras. La siguiente solución funciona positiva y negativa para integrales.
Debajo de este fragmento hay otro que funciona tanto para integrales como para valores decimales.
utilizando el sistema;
usando System.Text.RegularExpressions;
- ¿Cómo es trabajar en Amazon como ingeniero?
- ¿Cómo se sienten los ingenieros de las compañías tecnológicas acerca de la profesión contable?
- Cómo sacar más provecho de mi pasantía de software
- ¿Cuál es la diferencia entre la confiabilidad del software y la predicción de la calidad del software en función de los cambios de código?
- Quiero escribir un código para desenfocar una imagen. ¿Cómo escribir el código?
Programa de clase
{
vacío estático Main (string [] args)
{
¿largo? n = nulo;
tratar
{
var s = Console.ReadLine ();
// Descomenta el método que te gustaría usar
// n = Método1 (s);
// n = Método2 (s);
// n = Método3 (s);
// n = Método4 (s);
// Console.WriteLine (n);
}
catch (FormatException f)
{
Console.WriteLine (f.Message);
}
catch (OverflowException o)
{
Console.WriteLine (o.Message);
}
atrapar (Excepción ex)
{
Console.WriteLine (por ejemplo, ToString ());
}
}
Método largo estático1 (cadena s)
{
retorno largo. Grueso (s);
}
Método largo estático2 (cadena s)
{
largo n = 0;
var b = long. TryParse (s, out n);
if (! b) arroja una nueva FormatException ();
volver n;
}
Método largo estático3 (cadena s)
{
devuelve Convert.ToInt64 (s);
}
Método largo estático 4 (cadena s)
{
var match = Regex.Match (s, @ “\ -? \ d +”);
if (! match.Success) arroja una nueva FormatException ();
return long.Parse (match.Value);
}
}
Si desea aceptar cualquier número real, ya sea integral o decimal, no use el fragmento de arriba. Use el de abajo en su lugar.
utilizando el sistema;
usando System.Text.RegularExpressions;
Programa de clase
{
vacío estático Main (string [] args)
{
¿doble? n = nulo;
tratar
{
var s = Console.ReadLine ();
// Descomenta el método que te gustaría usar
// n = Método1 (s);
// n = Método2 (s);
// n = Método3 (s);
n = Método 4 (s);
Console.WriteLine (n);
}
catch (FormatException f)
{
Console.WriteLine (f.Message);
}
catch (OverflowException o)
{
Console.WriteLine (o.Message);
}
atrapar (Excepción ex)
{
Console.WriteLine (por ejemplo, ToString ());
}
}
Método doble estático1 (cadena s)
{
return double.Parse (s);
}
Método doble estático2 (cadena s)
{
doble n = 0;
var b = doble. TryParse (s, fuera n);
if (! b) arroja una nueva FormatException ();
volver n;
}
Método doble estático3 (cadena s)
{
devuelve Convert.ToDouble (s);
}
Método doble estático 4 (cadena s)
{
var match = Regex.Match (s, @ “\ -? \ d * \.? \ d *”);
if (! match.Success) arroja una nueva FormatException ();
return double.Parse (match.Value);
}
}