我有一个西类牙用户在执行此操作时得到了invalid floating point error
var
S : String;
R : Real;
begin
S := '3.12345';
R := StrToFloat(S); //- Exception here.
原因是他的位置将
,
用作小数位!我如何安全地将上面的字符串转换为浮点数,而不给用户炸弹。
最佳答案
滚动自己的StrToFloat版本
function StrToFloat_UK(const AStr: string): Float;
var
FS: TFormatSettings;
begin
FS.Create('en-UK');
Result:= StrToFloat(AStr, FS):
end;
并使用它代替StrToFloat。