Mr Burns Skrevet 18. april 2008 Del Skrevet 18. april 2008 Heisann! Jeg skal lese inn flyttall (f.eks. 1,56) fra en tekst. Problemet er at det tallet kan være lagret på en maskin med engelsk oppsett som skriver 1.56. Da blir det krøll! Går det an å fikse det ved å trikse CultureInfo-klassen eller må jeg sørge for å f.eks. skrive 1_56, og bytte ut _ med det aktuelle desimaltegnet? private void makeDecimalPoint() { double temp = 1.1; string tempString = temp.ToString(); decimalPoint = tempString[1]; } Og dermed... string thresholdString = sr.ReadLine(); thresholdString = thresholdString.Replace('_', decimalPoint); threshold = Double.Parse(thresholdString); Alternativt kan jeg lage en klasse som inneholder disse data, serialize den til disk. Eller kanskje skrive data binært til disk? Lenke til kommentar
wolf5 Skrevet 18. april 2008 Del Skrevet 18. april 2008 (endret) System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencyDecimalSeparator Endret 18. april 2008 av wolf5 Lenke til kommentar
GeirGrusom Skrevet 18. april 2008 Del Skrevet 18. april 2008 Er vel også noe som heter InvariantCulture også et sted Lenke til kommentar
Mr Burns Skrevet 21. april 2008 Forfatter Del Skrevet 21. april 2008 Det gjør det, men da blir 1,56 til 156. Ser ut til at jeg bare må bytte ut ',' og '.' med System.Globalization.CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator DA virker det kanskje... Lenke til kommentar
pian Skrevet 20. juni 2008 Del Skrevet 20. juni 2008 Det beste er vel å låse culturen til den du vil ha ( feks nb-NO - norsk - som bruker , som desimaltegn). Da vil både tall og datoer være forutsigbare. Hvis dette er et program hvor endringen skal gjelde i hele programmet, kan du sette det i assembly.cs fila: [assembly: AssemblyCulture("nb-NO")] Hvis endringen kun gjelder i en del av programmet, kan du sette det i den aktuelle metoden: System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("nb-NO"); Lykke til Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå