Zitat:
Aus 4,5887305339 macht die Funktion '4'#0'58873053386861'. Das dabei Berechnungen auf die Bretter gehen, dürfte klar sein. Nur warum wird aus einem Komma "#0"?
Warum gehen Berechnungen auf die Bretter, weil du mit FloatToStr einen String generierst? Ob im String die Zahl ob die erste Zeile von Pippi Langstrumpf Lied steht, sollte dem Programm doch egal sein, denn du rechnest ja mit der Zahl und nicht mit dem String. Andersherum wäre es kritisch.
Die Berechnungen gehen auf die Bretter, weil die Werte in fertige Formeln eingesetzt werden also
"[Fertigungskosten] + [Materialzuschlag]" => "10 + 4'#0'58873053386861"
Dieser String wird dann in einen Formelparser weitergereicht, der dann den numerischen Wert zurückgibt.
Gruß
Ingo