明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 766|回复: 4

[提问] 怎么判断面板输入的字符是数字

[复制链接]
发表于 2020-4-4 15:39 | 显示全部楼层 |阅读模式
各位大佬怎么判断面板输入是否是数字  不是数字的话需要重新输入   刚刚学习  希望各位大佬指教
发表于 2020-4-5 11:43 | 显示全部楼层
可先参阅 ASCII & CHR 函数的帮助
 楼主| 发表于 2020-4-5 13:34 | 显示全部楼层
Andyhon 发表于 2020-4-5 11:43
可先参阅 ASCII & CHR 函数的帮助

好的  谢谢大佬指教
发表于 2020-4-7 00:09 | 显示全部楼层
将获取的字符串atoi或者atof,结果为0 或者0.0 就不是数值。或者使用函数vl-string->list判断每个字符是不是数字
发表于 2020-9-7 10:44 | 显示全部楼层
dcl输入限制示例
(defun edit_boxexample (/ dcl_id)
(setq dcl_id (load_dialog (edit_box-dcl)))
(if (null (new_dialog "edit_boxexample" dcl_id)) (exit))
(action_tile "accept" "(if (not (nump (setq input (get_tile \"input\"))))(alert \"不是数字!\")(done_dialog 1))")
;这一句示例很重要
(start_dialog)
(unload_dialog dcl_id)
(princ)
)
(defun nump(str)
(if (member (type (read str)) (list 'INT 'REAL));INT整数型、REAL浮点数
;;其它,FILE 文件描述符,STR 字符串,SYM 符号
;;请学习read,type,member三个函数
t
nil
)
)
(defun edit_box-dcl  (/ lst_str str file f)
        (setq lst_str '(
"edit_boxexample:dialog {"
"    : edit_box {key = \"input\"; width = 8;}"
"    ok_cancel;"
"}"
                    )
    )
    (setq file (vl-filename-mktemp "DclTemp.dcl"))
    (setq f (open file "w"))
    (foreach str lst_str
        (princ "\n" f)
        (princ str f)
    )
    (close f)
    ;;返回
    file
)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-19 16:10 , Processed in 0.194758 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表