Arredondamento incorreto de flutuação ao usar ToString ("F1")

Eu tenho um valor float: 12345.6489

Quando eu formato isso usando:

(12345.6489f) .ToString ("F1")

Então eu recebo um resultado de

12345,7

Mas isso é incorreto, já que deveria ser 12345.6.

Alguém entende por que isso pode ocorrer? Outra dica é que a conversão para double antes do formato retorna o resultado correto, e se o valor float for um pouco menor, por exemplo, 1234.6489, também obtive o resultado correto.

questionAnswers(2)

yourAnswerToTheQuestion