如何判断一个字符串中全是数字,而没有其他字符?

Juddy 2000-08-25 04:23:00
我想让用户输入一个数字的字符串,那么如何判断这个字符串中全是数字,而没有其他字符?我知道可以用Keypress事件判断ASCII码,但是DELPHI中有没有一个字符串呢?想VB那样。
...全文
320 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
pjy 2000-08-26
  • 打赏
  • 举报
回复
倾向于使用HANK的观点。感觉更快更简单一些!
SimonDW 2000-08-26
  • 打赏
  • 举报
回复
简单点在keypress加
if (not key in['0'..'9']) then key=#0;
deardelphi 2000-08-26
  • 打赏
  • 举报
回复
用Keypress事件
if integer(key) <> vk_Back then
if not (key in ['0'..'9','.']) then key := #0;

其实也很简单实用呀。
deardelphi 2000-08-26
  • 打赏
  • 举报
回复

if integer(key) <> vk_Back then
if not (key in ['0'..'9','.']) then key := #0;

其实也很简单实用呀。
Sayhigh 2000-08-25
  • 打赏
  • 举报
回复
用Val函数用法看帮助去吧
Hank 2000-08-25
  • 打赏
  • 举报
回复
用异常以及转换!
try
begin
StrToFloat(Edit1.Text)
end
finally
ShowMessage('必须输入数字!');
dandycheung 2000-08-25
  • 打赏
  • 举报
回复
如果你是让一个编辑控件不能输入数字以外的字符,则可以:
var
dwStyle: DWORD;
...
// 假设你的编辑控件叫 edtEdit
dwStyle := GetWindowLong(edtEdit.Handle, GWL_STYLE);
dwStyle := dwStyle or ES_NUMBER;
SetWindowLong(edtEdit.Handle, GWL_STYLE, dwStyle);
// 搞定

dandycheung 2000-08-25
  • 打赏
  • 举报
回复
如果你是让一个编辑控件不能输入数字以外的字符,则可以:
var
dwStyle: DWORD;
...
// 假设你的编辑控件叫 edtEdit
dwStyle := GetWindowLong(edtEdit.Handle, GWL_STYLE);
dwStyle := dwStyle or ES_NUMBER;
SetWindowLong(edtEdit.Handle, GWL_STYLE, dwStyle);
// 搞定

meijg 2000-08-25
  • 打赏
  • 举报
回复
建议你还是有最简单的方法,StrToINt(),然后截获错误消息进行处理,比判断ASCII来的简单和快,那样的话还要判断一大堆符号,比如正负号,小数点,科学计数符号等

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧