# If var is [not] type

检查一个变量的内容是否为数值、大写字母或其他。

if var is type
if var is not type

#### 参数

var | 变量名。
type | 请见下面的说明。

#### 注意

支持的 Types:

integer | 若 var 非空且包含一个没有小数点的纯数字字符串(十进制或十六进制)，则为真。允许开头与结尾有空格和 tab。字符串可以是加号或减号开头。
float | 若 var 非空且包含一个浮点数；也就是说一个包含小数点的纯数字字符串，则为真。允许开头与结尾有空格和 tab。字符串可以是加号、减号或小数点开头。
number | 若 var 包含一个整数或浮点数(两者都在上面解释过了)，则为真。
digit | 若 var 为空或者只包含由 0 到 9 组成的数字，则为真。不允许出现后面这样的其他字符：空格、tab、加号、减号、小数点、十六进制数和 0x 前缀。
xdigit | 十六进制数值：除了还允许包含 A 到 F (大写或小写)这些字符外，其他与 digit 相同。在 v1.0.44.09 及之后版本中，也容许存在 0x 前缀。
alpha | 若 var 为空或只包含按字母排序的字符，则为真。若在字符串的任何地方有任何数字、空格、tab、标点符号或其他不按字母排序的字符出现，则为假。例如，如果 var 包含一个空格后跟一个字母，它将不被视为 alpha。
upper | 若 var 为空或只包含大写字符，则为真。若在字符串的任何地方有任何数字、空格、tab、标点符号或其他未大写的字符出现，则为假。
lower | 若 var 为空或只包含小写字符，则为真。若在字符串的任何地方有任何数字、空格、tab、标点符号或其他未小写的字符出现，则为假。
alnum | 除了还允许包含 0 到 9 的字符外，其他与 alpha 相同。
space | 若 var 为空或只包含由下列字符组成的空白字符：空格 (%A_Space%)、tab (%A_Tab% 或 `t)、换行(`n)、回车(`r)、垂直 tab (`v) 和进纸符(`f)，则为真。
time | 若 var 包含一个有效的日期时间标记，则为真，日期时间标记可以全部是 YYYYMMDDHH24MISS 格式或者仅仅开头部分是。例如，一个 4 位的数字字符串比如 2004 被视为有效。使用 StringLen 可以确定是否存在额外的时间部分。 小于 1601 的年份将被视为无效，因为操作系统通常不支持它们。被视为有效的最大的年份是 9999。 可以使用单词 DATE 来代替 TIME，结果相同。

注意：表达式中不支持 "between", "is", "in" 和 "contains" 运算符。

#### 相关命令

%A_YYYY%, SetFormat, FileGetTime, IfEqual, if var in/contains MatchList, if var between, StringLen, IfInString, StringUpper, EnvAdd, Blocks, Else

#### 示例

    if var is float
        MsgBox, %var% 是一个浮点数。
    else if var is integer
        MsgBox, %var% 是一个整数。
    if var is time
        MsgBox, %var% 也是一个有效的日期时间。

翻译：wz520 修正：天堂之门 menk33@163.com 2008年11月24日