Откуда берется мусор в переменной с плавающей запятой в Delphi?
Из-за того, что число 340,788 невозможно точно отобразить в плавающей запятой. Никакой: ни single, ни double, ни extended. А FloatToStr на стандартных настройках предполагает точность не то double, ни то extended.
Наверно все таки бинарно хранятся дроби а не десятичной ещё в школе это все проходят