Extended to number
Posted: Wed 14 Mar 2007 12:41
I need to write Extended value to Number column in Oracle.
When I use this code
the value 0.000000343572277246636 enters into column S1 instead of valid value 0.00000034357227724663589.
When I use this code
the value 0.00000034357227724663589 enters into column S1.
But how I can write extended to number without to string conversion?
When I use this code
Code: Select all
var l_s1: Extended;
begin
SetSP.Prepare;
SetSP.Params.ParamByName('P_NAME').AsString := 'OD&TS_Data';
SetSP.Params.ParamByName('P_CDP').AsString := 'CAGZ';
SetSP.Params.ParamByName('P_TIMESCALE').AsString := 'GLO';
SetSP.Params.ParamByName('P_DMJDB').AsFloat := 53855;
SetSP.Params.ParamByName('P_DMJDE').AsFloat := 53857;
SetSP.Params.ParamByName('P_DET').AsInteger := 5;
l_s1 := 0.00000034357227724663589;
SetSP.Params.ParamByName('P_S1').AsFloat := l_s1;
SetSP.Params.ParamByName('P_S2').AsFloat := 0;
SetSP.Params.ParamByName('P_S3').AsFloat := 0;
SetSP.Params.ParamByName('P_MODE').AsInteger := -1;
SetSP.Execute;
OraSession1.commit;
end;
When I use this code
Code: Select all
var l_s1: Extended;
begin
SetSP.Prepare;
SetSP.Params.ParamByName('P_NAME').AsString := 'OD&TS_Data';
SetSP.Params.ParamByName('P_CDP').AsString := 'CAGZ';
SetSP.Params.ParamByName('P_TIMESCALE').AsString := 'GLO';
SetSP.Params.ParamByName('P_DMJDB').AsFloat := 53855;
SetSP.Params.ParamByName('P_DMJDE').AsFloat := 53857;
SetSP.Params.ParamByName('P_DET').AsInteger := 5;
l_s1 := 0.00000034357227724663589;
SetSP.Params.ParamByName('P_S1').AsString := FloatToStrF(l_s1, ffGeneral, 20, 2);
SetSP.Params.ParamByName('P_S2').AsFloat := 0;
SetSP.Params.ParamByName('P_S3').AsFloat := 0;
SetSP.Params.ParamByName('P_MODE').AsInteger := -1;
SetSP.Execute;
OraSession1.commit;
end;
But how I can write extended to number without to string conversion?