Zitat von
Carsten1234:
Hallo zusammen,
bzgl. Runden mit 3, 4, 5 Nachkommastellen mit Hilfe von Format oder FormatFloatToStrF gibt es ja einiges zu lesen, doch zu meinem Problemchen im Betreff habe ich noch keine gute Lösung gefunden.
Ich möchte nämlich, dass ein Float max. 3 Nachkommastellen hat, optional aber auch weniger, wenn der Anwender weniger Nachkommastellen eingibt.
Bsp.:
1500 => 1500
100,01 => 100,01
0,3972 => 0,397
0,8767 => 0,877
Wie kann ich das denn möglichst einfach erreichen?
Dank vorab und Gruß, Carsten
Vielleicht verstehe ich das Problem nicht richtig, aber ist es nicht am einfachsten, die Format-Routine entsprechend der Anwendervorgabe aufzurufen:
Delphi-Quellcode:
case Vorgabe of
1: Result:= Format('%0.1f', [AValue]);
2: Result:= Format('%0.2f', [AValue]);
3: Result:= Format('%0.3f', [AValue]);
end;
Alternativ könnte natürlich auch der Formatstring '%0.3f' entsprechend der Anwendervorgabe aufgebaut werden.