字符串是entier tcl8.5
string is entier tcl8.5
我有以下问题:
我想检查一个字符串是否是 64 位整数。
我不能使用 [string is integer $str]
方法,因为它只适用于 32 位整数。
在 http://wiki.tcl.tk/10166 我找到了 [string is entier $str]
的解决方案,但这在 tcl8.5 中不起作用我收到以下错误消息:
bad class "entier": must be alnum, alpha, ascii, control, boolean, digit, double, false, graph, integer, list, lower, print, punct, space, true, upper, wideinteger, wordchar, or xdigit
tcl8.5不支持这种方式吗?
我可以检查 64 位整数吗?
在 Tcl 8.5 中,string is
不支持 entier
class(检查一般整数——这个名字来自法语,被选中是因为一切else better is taken for something already)。然而, wideinteger
class 是 支持的,并且在所有支持的平台上都对 64 位整数进行精确检查;普通旧 string is integer
可能真的是 32 位或 64 位,具体取决于 CPU 体系结构。
不要忘记使用 -strict
除非您希望空字符串被接受为有效值。 (在某些情况下这是可取的,但通常不是。这是多年前的一个小规范问题。)
我有以下问题:
我想检查一个字符串是否是 64 位整数。
我不能使用 [string is integer $str]
方法,因为它只适用于 32 位整数。
在 http://wiki.tcl.tk/10166 我找到了 [string is entier $str]
的解决方案,但这在 tcl8.5 中不起作用我收到以下错误消息:
bad class "entier": must be alnum, alpha, ascii, control, boolean, digit, double, false, graph, integer, list, lower, print, punct, space, true, upper, wideinteger, wordchar, or xdigit
tcl8.5不支持这种方式吗? 我可以检查 64 位整数吗?
在 Tcl 8.5 中,string is
不支持 entier
class(检查一般整数——这个名字来自法语,被选中是因为一切else better is taken for something already)。然而, wideinteger
class 是 支持的,并且在所有支持的平台上都对 64 位整数进行精确检查;普通旧 string is integer
可能真的是 32 位或 64 位,具体取决于 CPU 体系结构。
不要忘记使用 -strict
除非您希望空字符串被接受为有效值。 (在某些情况下这是可取的,但通常不是。这是多年前的一个小规范问题。)