
13.12.2010, 12:05
|
Прохожий
|
|
Регистрация: 09.12.2010
Сообщения: 15
Репутация: 10
|
|
Посмотрите, вот код:
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,ExtCtrls, ComCtrls, StdCtrls, Mask, Buttons;
type
TForm1 = class(TForm)
MaskEdit1: TMaskEdit;
MaskEdit2: TMaskEdit;
Button1: TButton;
RadioGroup1: TRadioGroup;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
Label1: TLabel;
Button2: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function SrArifm: double;
begin
result:= (StrToInt(Form1.MaskEdit1.Text)+StrToInt(Form1.MaskEdit2.Text) )/2
end;
function SrGeom: double;
begin
result:=sqrt(StrToInt(Form1.MaskEdit1.Text)*StrToInt(Form1.MaskEdit2.Text))
end;
procedure count;
begin
if Form1.RadioGroup1.ItemIndex=0
then Form1.Memo1.Lines.Append(FloatToStr(SrArifm))
else Form1.Memo1.Lines.Append(FloatToStr(SrGeom))
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
count;
MaskEdit1.Clear;
MaskEdit2.Clear;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Form1.Close;
end;
end.
И при выводе ответа на поле Memo, среднее арифметическое получается дробное число с 12-ю знаками после запятой. Как это исправить???
|