我有以下问题:
我想检查字符串是否为64位整数。
我不能使用[string is integer $str]
方法,因为它只适用于32位整数。
在http://wiki.tcl.tk/10166我找到了[string is entier $str]
的解决方案,但这在tcl8.5中不起作用我收到以下错误消息:
坏班" entier":必须是alnum,alpha,ascii,control,boolean,digit,double,false,graph,integer,list,lower,print,punct,space,true,upper, wideinteger,wordchar或xdigit
tcl8.5不支持此方法吗? 我可以检查64位整数吗?
答案 0 :(得分:1)
在Tcl 8.5中,string is
不支持entier
类(检查一般整数 - 名称来自法语,并且被选中因为其他一切更好用于某事其他已经)。但是,支持wideinteger
类 ,并且在所有支持的平台上检查64位整数;普通旧string is integer
可能真的是32位或64位,具体取决于CPU架构。
除非您希望将空字符串作为有效值接受,否则不要忘记使用-strict
。 (在某些情况下,这是可取的,但通常情况并非如此。这是几年前的一个小规格。)