简单的算术运算。
现在有edt1 edt2 edt3 三个文本框
按钮 btn1 btn2 btn3 btn4
btn1做加法 btn2做减法 btn3做乘法btn4做除法
procedure TForm1.btn1Click(Sender: TObject);
var
a,b,d:Integer;
begin
a:=StrToInt(edt1.Text);
b:=StrToInt(edt2.Text);
d:=a + b;
edt3.Text:=IntToStr(d) ;
end;
前面都没问题后面除法时候
procedure TForm1.btn1Click(Sender: TObject);
var
a,b,d:Integer;
begin
a:=StrToInt(edt1.Text);
b:=StrToInt(edt2.Text);
d:=a/b; //这行出问题了。
edt3.Text:=IntToStr(d) ;
end;
请问一下怎么做才行呢?把/换成 div 是可以但不想要整除。
[解决办法]
修改数据类型为:
single
double
real
然后 format 得到结果来显示
[解决办法]
d类型不对,除法结果不是Integer; 改成double吧
[解决办法]
一般应用小数点后最多保留4位,所以你可以将被除数乘以10000,使用 DIV 运算, 再将结果加上小数点。
[解决办法]
还要考虑除数不能为0。
[解决办法]
procedure TForm1.btn4Click(Sender: TObject);
var
a,b:Double;
begin
if not TryStrToFloat(Trim(Edit1.text) , a) then begin
ShowMessage('请在这里输入有效的数值');
Edit1.Setfocus;
Exit;
end;
if not TryStrToFloat(Trim(Edit2.text) , b) then begin
ShowMessage('请在这里输入有效的数值');
Edit2.Setfocus;
Exit;
end;
if b=0 then begin
ShowMessage('0不能当被除数.');
Edit2.Setfocus;
Exit;
end;
a:=a/b;
edt3.Text:= FloatToStr(a);
end;