2015-05-22 54 views
-1

在我的第二個變量'試圖將字符串轉換爲整數,但價值是不一樣的!strtoint不會得到相同的值

變量 「應用程序」 是接收 '1',但它是用於接收'0001

這裏是我的代碼:

function isnew(Ls:string):Boolean; 
var 
appvs,app:Integer; 
begin 
     appvs:=StrToInt(StringReplace(GetAppVersionStr,'.',''[rfReplaceAll])); 
     app:= strtoint(Ls); // the value in ls is 0001 but receive in app 1 
     if app > appvs then 
     result:= True 
     else 
     result:= false; 

end; 
+1

你期望字符串'0001'代表什麼整數值? –

+0

我不是笑,也不哭。我只是不明白你的問題,因爲它意味着你認爲表示爲0001的整數值不同於1。 –

+0

我很困惑1000與0001 – MrHelp

回答

1

數字可以有不同的表示形式。所以1和0001是相同數字的不同表示。 Integer存儲數字而不是表示。所以,你不能在Integer中區分1和0001。

1

app:Integer持有Ls:string整數表示。

您不能「強制」整數以表示爲4位數值,除非其值實際上位於[1000,9999]的某處。 您的顯示器可以因爲這是一個字符串。

+0

。 – MrHelp

相關問題