15. marts 2013 - 08:26Der er
5 kommentarer og 1 løsning
Hvornår er det nødvendigt med round af double
Hej,
jeg har et program, hvor en double værdi hentes fra en ekstern kilde. Lad os sige at denne har værdien 23.3.
Hvis jeg så direkte efter at have læst værdien viser den som string i en Label, vil man typisk se noget a la 23.3000000032134...
Dette pga. manglende nøjagtighed med double.
For at få vist værdien korrekt kan man jo så først runde af som f.eks.: value = Math.Round(value, 1, MidpointRounding.AwayFromZero) før man viser værdien i Label'en.
Mit spørgsmål er nu følgende: Hvis man nu "mellemlagrer" værdien i flere variabler inden man viser den, mistes præcisionen så ind imellem, så det er nødvendigt at runde af igen lige inden man viser værdien?
Altså hvis jeg forstår dit spørgsmål korrekt, så nej. Hvis du sætter en double variabel ud fra en afrundet double værdi fra en anden variabel, så vil den nye instans få den afrundede værdi.
Du giver ikke meget mulighed for at sige havd problemet er i din kode, men jeg vover at gaette paa at din ReadValueFromExternalUnit returnerer en float og ikke en double;
>>arne_v Du har ret i, at værdien oprindelig kommer som float, så det er vel OK, at denne skal afrundes een gang? Jeg tror lasserasch har svaret på det, at det kun er nødvendigt een gang. Lægger du svar?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.