在edit中使用formatfloat函数的时候,如果edit中有两个小数点如1.2.3,出错! if key in [] then begin
if key=#13 then
formatfloat('0.00',strtofloat(edit3.text));
end;
请大家帮我解决这个问题,将不胜感激!!!
if key=#13 then
formatfloat('0.00',strtofloat(edit3.text));
end;
请大家帮我解决这个问题,将不胜感激!!!
解决方案 »
- 教教我怎么用Delphi画方格图好吗?就是一般的方格图,比如100行100列的一个格子图就可以,谢谢您了
- Delphi for php 出了正式版了吗?
- 请教在DLL中动态创建ADOQuery组件为什么总是提示数据库连接失败?
- 小问题,马上结贴!
- 在线等,100分,立结TListBox滚动问题!
- 怎么设置数据查询状态?
- 在CORBA服务器运行时.什么是SMARTAGENT.怎么运行它?谢谢
- 用InstallShield对应用程序打包时,如果是用ADO作数据引擎,该怎样打包?
- Paradox数据库不能保存
- *********哪里能买到Kylix的盗版,或哪们老兄给我一份copy!!!!*************
- 高手才知道
- 关于编程思想的问题!!
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var i,m:integer;
s:string;
begin
m:=0;
s:=edit1.text;
if key=#13 then
begin
while (pos('.',s)>0) do
begin
i:=pos('.',s);
s[i]:='_';
m:=m+1;//对“.”计数
end;
if m<2 then form1.caption:=formatfloat('0.00',strtofloat(edit1.text))
else showmessage('error!')
end;
end;
var
i,j:Integer;
begin
j:=0;
For i:=1 to Length(Edit1.text) do
begin
If Edit1.text[i]='.' then
j:=j+1;
next;
End;
IF j>1 then
showmessage('Edit1中不能的小数点不能大于1一个,转换失败')
Else if key=#13 then
begin
formatfloat('0.00',strtofloat(edit1.text));
showmessage('转换成功');
end;
end;
你准备如何处理,
1。如果提示用户改正的话
procedure TForm1.Edit1Exit(Sender: TObject);
var
s:string;
i:integer;
begin
s:=copy(edit1.Text,1,length(edit1.Text ));
// s:=string(Edit1.Text):
i:=0;
while(pos('.',s)>0) do
begin
i:=i+1;
delete(s,pos('.',s),1);
end;
if i>0 then
showmessage('您输入的小数点太多了');
end;