strtoint没有获得相同的价值

时间:2015-05-22 17:49:02

标签: delphi

在我的第二个变量中尝试将字符串转换为整数,但值不一样!

变量" 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;

2 个答案:

答案 0 :(得分:1)

app:Integer包含Ls:string的整数表示。

您不能“强制”将整数表示为4位数值,除非其值实际位于[1000,9999]中的某个位置。 你的显示器可以因为这是一个字符串。

答案 1 :(得分:1)

数字可以有不同的表示形式。因此1和0001是相同数字的不同表示。 Integer存储数字而不是表示。因此,您无法在Integer中区分1和0001。