Könnte es sein, dass 1,2345678 als 1,2345677614212 gespeichert wird? Denn bekanntlicherweise sind float werte sowiso nur Nährerungswerte, und ungenau ...
Wenn es dir nur darum geht, eine kurze Zahl im String zu haben, kannst du sie ja auch mit 10000000 multiplizieren und runden