我照着教材上操作,可怎么老是不行
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
Edit2: TEdit;
Edit3: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations } end;var
Form1: TForm1;
implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
sum1:double;
sum2:double;
sum3:double;
begin
sum1:=strtofloat(edit1.text);
sum2:=strtofloat(edit2.text);
sum3:=sum1+sum2;
edit3.text:=floattostr(sum3);
end;end.
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
Edit2: TEdit;
Edit3: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations } end;var
Form1: TForm1;
implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
sum1:double;
sum2:double;
sum3:double;
begin
sum1:=strtofloat(edit1.text);
sum2:=strtofloat(edit2.text);
sum3:=sum1+sum2;
edit3.text:=floattostr(sum3);
end;end.
Project project2.exe raised exception class EConverError with message'''is not a valid floating point value'.Process stopped use step or run to continue.
然后编写代码的窗口出现:
program Project2;uses
Forms,
Unit1 in 'Unit1.pas' {Form1};{$R *.res}begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;end.
在END.前面有一个箭头
message'''is not a valid floating point value'.即:''不是一个合法的浮点值。
sum1:=strtofloat(edit1.text);
sum2:=strtofloat(edit2.text);
你的edit1或者edit2有一个或者两个是空格,没有输入数值。是0的话输入0。
修改如下:
try
sum1:=strtofloat(trim(edit1.text)); //去掉空格
except
sum1:=0; //错误机制,如果输入的是汉字等非法数字,sum1=0
end;try
sum2:=strtofloat(trim(edit2.text));
except
sum2:=0;
end;sum3:=sum1+sum2;
edit3.text:=floattostr(sum3);