请问在delphi中有没有一个像VB中isnumeric这样的函数判断一个edit中输入的字符串是否是数字的函数啊!
解决方案 »
- delphi7使用ClientSocket.Socket.ReceiveText接收上的问题请教一下大神
- 如何在mdi窗口中作登陆窗口?
- delphi 中操作 INI 文件的 函数 ::::::::??
- 谁做过触摸屏查询系统,帮忙!
- 谁能告诉我将字符“A”的ASCII转换出来的函数?
- 局域网监视
- 大家好,我是寂寞寒冰,来这里不分日夜的混了好几天了,以后希望大家能关照我一下!谢谢
- 请问在delphi5.0中如何判断一个文件是否存在.
- 用什么工具能将搜索到的内容全部 Down下?
- Undo之提问???
- Delphi写组件和ASP接口程序的问题,请高手帮忙!
- DBGrid控件排序问题,如有相关源代码,全加分!
IntToStr(edit1.text);
except
ShowMessage('不是数字');
end;//有一个问题就是当数字非常大比如1111111111111111111111111111111111111这样的时候,还是会触发异常,你最好还是自己写一个函数来遍历字符串的每一个字符,判断它的ASCII看是否是数字,十分简单。
strtofloat(edit1.text);
except
application.messagebox('不是数值','提示');
end;
isdigital();bool strToint(char line[i])
{
int value=0;
for(int i=0;i<strlen(line);i++)
{
if(line[i]>='0'&&line[i]<'9')
value=(value*10)+line[i]-'0';
else return false;
}
return true;
}bool hexstrToint(char line[])
{
int value=0;
for(int i=0;i<strlen(line);i++)
{
if(line[i]>='0'&&line[i]<='9')
value=(value<<3)+line[i]-'0';
else if(line[i]>='a'&&line[i]<='f')
value=(value<<3)+line[i]-'a'+10;
else return false;
}
return true;
}
但它不会弹出"不是数字"这个提示框总是弹出那个delphi的错误提示框,'debugger exception notification这个提示框,
这是为什么啊
GetWindowLong(Edit1.Handle, GWL_STYLE) or
ES_NUMBER);解2:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not(Key in ['0'..'9']) then
Key := #0; //这里也可以写abort; end;解3如楼上所贴,用strtofloat函数
在调试期,try..except..end;能捕获异常,但是还是会跳出异常提示框来告诉你,在执行exe文件的时候就不会了,你试试不要在delphi里f9,直接生成exe,然后点击exe文件执行.
谢谢你能不能和你交个朋友啊,我刚学DELPHI,有很多不懂的,希望你能多指教,我的QQ是4990325
下次好吗?