如何检查变量的值在32位操作系统的MAX_INT和MIN_INT之间

时间:2019-06-29 07:14:44

标签: tcl

我知道所有变量都是字符串类型。

我们如何检查32位操作系统的MAX_INT(0x7FFFFFFF)和MIN_INT(-0x80000000)之间的变量值

set var "12334"
...How to check var variable datatype and value range ..

1 个答案:

答案 0 :(得分:3)

string is int命令完成了大部分工作。其余可以使用tcl::mathop::<=

set MIN_INT -0x80000000
set MAX_INT 0x7FFFFFFF
if {[string is int -strict $value] && [tcl::mathop::<= $MIN_INT $value $MAX_INT]} {
    puts "$value is a proper 32-bit signed integer"
}

如果愿意,可以使用它(括号只是为了清楚起见):

if {[string is int -strict $value] && ($MIN_INT <= $value) && ($value <= $MAX_INT)} {