在我的第二个变量中尝试将字符串转换为整数,但值不一样!
变量" app"收到' 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;
答案 0 :(得分:1)
app:Integer
包含Ls:string
的整数表示。
您不能“强制”将整数表示为4位数值,除非其值实际位于[1000,9999]
中的某个位置。
你的显示器可以因为这是一个字符串。
答案 1 :(得分:1)
数字可以有不同的表示形式。因此1和0001是相同数字的不同表示。 Integer
存储数字而不是表示。因此,您无法在Integer
中区分1和0001。