Gå til innhold

Anbefalte innlegg

Prøver å lage et program som tolker data fra GPS, men jeg sliter med å gjøre string om til double.

Jeg får meldingen "Input string was not in a correct format." når det kommer til

tmp2 = Double.Parse(data[7]);

Hva har jeg gjort galt?

 

Her er koden:

private void serial_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
       {
           CheckForIllegalCrossThreadCalls = false;
           string[] data = serial.ReadLine().Split(',');
           string tmp;
           double tmp2=0;
           if (data[0] == "$GPRMC")
           {
               box.AppendText(data[0]);
                   tmp2 = Double.Parse(data[7]);
                   tmp2 = tmp2 / 1.852;
             tmp = Convert.ToString(tmp2);
            speedbox.Text = tmp;

           }

       }

Lenke til kommentar
Videoannonse
Annonse

Vær obs på at noen steder bruker de punktum som desimaltegn, men i Norge bruker vi komma av en eller annen grunn. Derfor vil standard konverteringen også bruke komma (ettersom det er det som er satt i instillingene dine)

 

For å fikse dette, gjør du følgende:

 

Double.Parse(data[7], System.Globalization.NumberFormatInfo.InvariantInfo);

Da burde det funke.

Lenke til kommentar
  • 3 uker senere...

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...