unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Math;
type
TForm1 = class(TForm)
RadioGroup1: TRadioGroup;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
RadioGroup1.ItemIndex := 0;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
N1 : Double;
E : Integer;
begin
N1 := 2.718281;
case RadioGroup1.ItemIndex of
0 : begin
SetRoundMode(rmUp);
ShowMessage(FormatFloat('#,###,###.00',RoundTo(N1,-2)));
end;
1 : begin
SetRoundMode(rmDown);
ShowMessage(FormatFloat('#,###,###.00',RoundTo(N1,-2)));
end;
2 : begin
SetRoundMode(rmNearest);
ShowMessage(FormatFloat('#,###,###.00',RoundTo(N1,-2)));
end;
3 : begin
SetRoundMode(rmTruncate);
ShowMessage(FormatFloat('#,###,###.00',RoundTo(N1,-2)));
end;
end;
end;
function DoubleDecimals(Number : Double; Decimal : Integer) : Double;
var
AuxNumber : String;
begin
AuxNumber := FloatToStr(Number);
if Pos('.',AuxNumber) > 0 then
Result := StrToFloat(Copy(AuxNumber,1,Pos('.',AuxNumber) + Decimal))
else
if Pos(',',AuxNumber) > 0 then
Result := StrToFloat(Copy(AuxNumber,1,Pos(',',AuxNumber) + Decimal))
else
Result := Number;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
N1 : Double;
E : Integer;
begin
N1 := 2.718281;
N1 := DoubleDecimals(N1,2);
ShowMessage(FloatToStr(N1));
end;
end.