如何检查变量的值在 32 位 OS 的 MAX_INT 和 MIN_INT 之间

How to check value of variable is between MAX_INT and MIN_INT of 32 bit OS

我了解所有变量都是字符串类型。

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

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

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)} {