您好我已编码,到目前为止,在WinXP中使用Delphi XE7直到Win7中的Delphi 2007开发和编译都没有问题。
我不确定为什么会这样。
错误指向的行
....
if(tS<>'') then
begin
Result:=StrToFloat(StringReplace(String(tS),'.',DecimalSeparator,[]));
Invalid:=False;
end;
....
错误:
1) [dcc32 Error] UtilNumString.pas(321): E2003 Undeclared identifier: 'DecimalSeparator'
2) [dcc32 Error] UtilNumString.pas(321): E2250 There is no overloaded version of 'StringReplace' that can be called with these arguments
请亲亲加入。 感谢
答案 0 :(得分:4)
已删除格式设置的旧全局变量。您可以使用FormatSettings
全局变量:
Result:=StrToFloat(StringReplace(String(tS),'.',FormatSettings.DecimalSeparator,[]));
或者,或者(理想情况下......),您可以创建本地TFormatSettings
并使用它。
var
fs : TFormatSettings;
begin
fs := TFormatSettings.Create();
Result:=StrToFloat(StringReplace(String(tS),'.',fs.DecimalSeparator,[]));
end;