我是一个 delphi 的初学者。现在我有个作业。内容是:一个计算题。
y=k1*x1+k2*x2+k3*x3+k4*x4. k1,k2,k3,k4,x1,x2,x3,x4, 都是未知数。我设计了8个输入框。值都是实型,框架都作好了,只要输入8个框的值,结果就出来了 。怎么作。。急救。。
y=k1*x1+k2*x2+k3*x3+k4*x4. k1,k2,k3,k4,x1,x2,x3,x4, 都是未知数。我设计了8个输入框。值都是实型,框架都作好了,只要输入8个框的值,结果就出来了 。怎么作。。急救。。
计算的时候要转换类型:inttostr和strtoint
例如:k1:=edt1.text;
然后输入y=k1*x1+k2*x2+k3*x3+k4*x4.规则。
把Y付给另外一个控件显示属性即可
但是在给 k1 附值时,在k1=edt1.到这里,并没有text属性。
Function StrToSingle(const Value: String): Single;
var
St,Data: String;
i: Integer;
begin
Data := Value;
if Pos('.',Data) = 1 then//如果是以.开头
Data := '0' + Data;
if Pos('.',Data) <= 0 then//没有.
Data := Data + '.0000';
St := Copy(Data,0,Pos('.',Data) - 1);//截取整数部分
i := StrToInt(St);
Result := i;
St := Copy (Data,Pos('.',Data) + 1,4);//取小数部分
if Length(St) < 4 then//长度不足
St := St + '0';
i := StrToInt(St);
Result := Result + (i/10000);
end;Edit9.Text := Format('%F',
(StrToSingle(Edit1.Text) * StrToSingle(Edit2.Text) +
StrToSingle(Edit3.Text) * StrToSingle(Edit4.Text) +
StrToSingle(Edit5.Text) * StrToSingle(Edit6.Text) +
StrToSingle(Edit7.text) * StrToSingle(Edit8.text));
就可以了
改成
for i := 0 to 4 - Length(St) doEdit9.Text := Format('%F',
(StrToSingle(Edit1.Text) * StrToSingle(Edit2.Text) +
StrToSingle(Edit3.Text) * StrToSingle(Edit4.Text) +
StrToSingle(Edit5.Text) * StrToSingle(Edit6.Text) +
StrToSingle(Edit7.text) * StrToSingle(Edit8.text));改成Edit9.Text := Format('%F',
[StrToSingle(Edit1.Text) * StrToSingle(Edit2.Text) +
StrToSingle(Edit3.Text) * StrToSingle(Edit4.Text) +
StrToSingle(Edit5.Text) * StrToSingle(Edit6.Text) +
StrToSingle(Edit7.text) * StrToSingle(Edit8.text)]);
另外, 要必须保证传入的字符串是整型或实型数据.
最多只能有一个点
begin
Edit9.text := FloatToStr(StrToFloat(Edit1.text)*StrToFloat(Edit2.text)+StrToFloat(Edit3.text)*StrToFloat(Edit4.text)+StrToFloat(Edit5.text)*StrToFloat(Edit6.text)+StrToFloat(Edit7.text)*StrToFloat(Edit8.text));
end;