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?
Eksempel:
double value1 = ReadValueFromExternalUnit();
label1.text = Convert.ToString(value1); //23.300002313
double value2 = Math.Round(value1, 1, MidpointRounding.AwayFromZero);
label1.text = Convert.ToString(value2); //23.3
double value3 = value2;
label1.text = Convert.ToString(value3); //??
double value4 = value3;
label1.text = Convert.ToString(value4); //??
På forhånd tak!