none
Convertir string numerico a entero

    Question

  • Hola

    Gracias de antemano por toda su ayuda. Tengo un problema:

    Resulta que leo un dato de un puerto serial y lo leo en string. Pero al momento de que lo quiero convertir a entero me marca"EL VALOR NO PUEDE SER NULL". Lo curioso es que en ocasiones me hece bien la conversion.Por ejemplo: si el valor leido es 12 me lee:012 en string y cuando lo convierto me pone 12. Aqui les pongo mi código

    int a;

    string aux;

    a = this.port.ReadByte();

    aux = Convert.ToChar(a).ToString();

     

    while (this.port.BytesToRead > 0 & aux != "")

    {

    a = this.port.ReadByte();

    aux = aux + Convert.ToChar(a).ToString();

    }

     

        Console.WriteLine("Bytes leidos "+a);

        Console.WriteLine("lectura: " + aux);

     

      class Program

        {

            static void Main(string[] args)

            {

                int a = 0;

                Serial f = new Serial();

                string d = f.aux;

                Thread.Sleep(3000);

               

                Console.WriteLine("La distancia es {0}", f.aux);

                 a = int.Parse(f.aux); AQUÍ ME MARCA EL ERROR

                Console.WriteLine("La distancia es {0}",a);

    Alguien sabe que sucede, pq a veces me hace el error y otra no.


    C#

    Monday, July 11, 2011 9:58 PM

Answers

  • Hola

    Intenta con TryParse... el error está en que no puedes hacer un Parse a un null, por eso es mejor lo que te propongo.

    int a = 0;
    if (int.TryParse(f.aux, out a))
    {
     Console.WriteLine("La distancia es {0}",a);
    }
    
    

    Saludos

     


    Antonio Lobo
    Para el correcto funcionamiento, y que otros usuarios se puedan beneficiar de la solucion de esta pregunta por favor marca las respuestas que te hayan ayudado como "Respuesta".
    Si la respuesta te ha sido util Votala.
    Mi blog
    Thursday, July 14, 2011 1:57 AM