Falsche Rundung des Gleitkommas bei Verwendung von ToString ("F1")

Ich habe einen Gleitkommawert: 12345.6489

Wenn ich das formatiere mit:

(12345.6489f) .ToString ("F1")

Dann bekomme ich ein Ergebnis von

12345.7

Das ist aber falsch, da es 12345.6 sein sollte.

Versteht jemand, warum dies auftreten könnte? Ein weiterer Hinweis ist, dass das Umsetzen auf double, bevor ich formatiere, das richtige Ergebnis zurückgibt. Wenn mein Gleitkommawert etwas kleiner ist, zum Beispiel 1234.6489, erhalte ich auch das richtige Ergebnis.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage