1 (edited by adiziktdy 2021-09-02 07:19:08)

Topic: [Решено] Отбросить часть цифр после запятой

Как получить число с 2 знаками после запятой без округления?

например,

procedure priem_corr_one1_Edit61_OnChange (Sender: TObject);
var
float : double;  //десятичные после 2 знака после запятой отбросить
begin
float:= 4.356701;
priem_corr_one1.Edit62.Text:=FormatFloat('0.00',float);
end;


на выходе - 4,36
мне же нужно 4,35

Yana

Re: [Решено] Отбросить часть цифр после запятой

нашла в сети

function xyz(X: Extended; ADigs: Integer = 2): String;
var S, S1: String;
begin
  S := FloatToStr(X);
  S1 := IntToStr(Trunc(X));
  S := Copy(S, Pos(',', S) + 1, ADigs);
  Result := S1 + ',' + S;
end;


procedure priem_corr_one1_Edit61_OnChange (Sender: TObject);
var
float : double;  //десятичные после 2 знака после запятой отбросить
begin
float:= 4.356701;
priem_corr_one1.Edit62.Text:=FloatToStr(StrToFloat(xyz(float, 2)));
end;;
end;

Yana