Man sollte vielleicht noch anfügen, dass die Routinen Format(), FloatToStrF() und das (noch nicht genannte) FormatFloat() die Ländereinstellungen des Betriebssystems verwenden, um Dezimalzahlen darzustellen. Dabei wird bei uns in Deutschland immer ein Komma verwendet. Wenn du lieber einen Dezimalpunkt willst, musst du die von Mathias genannte Str()-Prozedur nehmen (was aber meist eine Zwischen-Variable erfordert, weil es sich um eine Prozedur, keine Funktion handelt); oder du gibst in den erstgenannten Funktionen als letzten Parameter entsprechend abgeänderte FormatSettings an:
Code: Alles auswählen
var
fs: TFormatSettings;
...
fs := DefaultFormatSettings;
fs.DecimalSeparator := '.';
JahresVerbrauch.Text := Format('%.2f', [verbrauch], fs);
//oder: Jahresverbrauch.Text := FloatToStrF(verbrauch, ffNumber, 8, 2, fs);
// oder: Jahresverbrauch.Text := FormatFloat('0.00', verbrauch, fs);