【问题描述】
该问题是由于QString.ParseNumeric函数在解析负数时,未进行检测造成解析的结果与字符串表达式结果不一致造成的。问题出在QString.pas的ParseNumeric.ParseDec函数:
if ACount > 0 then
ANum := ANum + iVal / IntPower(10, ACount);应为:
if ACount > 0 then
begin
if ANum<0 then
ANum:=ANum-iVal / IntPower(10, ACount)
else
ANum := ANum + iVal / IntPower(10, ACount);
end;【严重级别】
严重
【更新级别】
立即更新
