delphi的报错Invalid floating point operation大神帮我找下错误
delphi吧
全部回复
仅看楼主
level 1
cbiprw 楼主
arr[i]:=MAX(MAX((highkvalue[i] - lowkvalue[i]),ABS(highkvalue[i]-kvaluef[i-1])) ,ABS(lowkvalue[i] - kvaluef[i-1])); 提示运行到这句报错的这句没有求商,为什么会报非法浮点错误 highkvalue,lowkvalue,kvaluef:都是array of single类型数据
2016年05月15日 01点05分 1
level 1
cbiprw 楼主
function _adxTR(highkvalue,lowkvalue,kvaluef: TArrayOfSingle;cycle:integer): TArrayOfSingle;
var
i,c:integer;
arr:tarrayofsingle;
begin
if (highkvalue<>nil)and (lowkvalue<>nil) and (kvaluef<>nil) then
begin
Result := nil;
arr:=nil;
c:=Length(kvaluef);
SetLength(arr, c);
SetLength(Result, c);
arr[0]:=0;
for i:= 1 to c-1 do
arr[i]:=MAX(MAX((highkvalue[i] - lowkvalue[i]),ABS(highkvalue[i]-kvaluef[i-1])) ,ABS(lowkvalue[i] - kvaluef[i-1]));
Result:= _calcEMA(arr,cycle);
end;
end;
整个函数是样的
2016年05月15日 02点05分 2
1