2015-03-31 38 views
0

我有以下問題:string is entier tcl8.5

我想檢查一個字符串是否是64位整數。 我不能使用[string is integer $str]方法,因爲它只適用於32位整數。

http://wiki.tcl.tk/10166我找到了解決辦法與[string is entier $str]但這並不在工作TCL8.5我收到以下錯誤信息:

階級成分不好「entier」:必須是alnum,alpha或ASCII,控制, boolean,digit,double,false,graph,integer,list,lower,print,punct,space,true,upper,wideinteger,wordchar或xdigit

tcl8.5不支持這種方法嗎? 我可以檢查64位整數嗎?

+0

看起來像是你想'string is wideinteger $ val' – 2015-03-31 12:57:09

+0

Wideinteger解決了這個問題...謝謝您 – TM90 2015-03-31 14:34:03

回答

1

Tcl 8.5string is不支持entier類(檢查一般整數 - 這個名字來源於法語,並拿起因爲一切美好被帶到別的東西的話)。但是,wideinteger支持,並且在所有支持的平臺上完全檢查64位整數;根據CPU體系結構的不同,舊的string is integer可能確實是32位或64位。

不要忘記使用-strict,除非您希望將空字符串接受爲有效值。 (有些情況下,這是可取的,但通常情況下不是這樣,這是幾年前的一個小規格修正)。

相關問題