Do samej konwersji możesz użyć funkcji FloatToStrF oraz nieco podłubać w ustawieniach formatów:
var
LValue: String;
begin
FormatSettings.DecimalSeparator := '.';
LValue := FloatToStrF(3.14159, ffFixed, 0, 2);
W zmiennej LValue
wyląduje ciąg 3.14
.
Zmiana wartości pola w FormatSettings
będzie miala zasięg globalny, dlatego że jest to zmienna globalna (istniejąca też pod nazwą DefaultFormatSettings
) i z niej korzysta wiele różnych funkcji konwertujących.
Jeżeli zależy Ci na tym, aby zmiana separatora była lokalna to możesz albo zapamiętać stary separator i po wszystkim go przywrócić, albo też możesz przekopiować dane z globalnego rekordu do pomocniczej zmiennej i w tej zmiennej zmodyfikować znak separatora:
var
LValue: String;
LSettings: TFormatSettings;
begin
LSettings := FormatSettings;
LSettings.DecimalSeparator := '.';
LValue := FloatToStrF(3.14159, ffFixed, 0, 2, LSettings);