ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/branches/udr/testsuite/Test21.pas
(Generate patch)

Comparing ibx/branches/udr/testsuite/Test21.pas (file contents):
Revision 380 by tony, Mon Jan 10 10:08:03 2022 UTC vs.
Revision 381 by tony, Sat Jan 15 00:06:22 2022 UTC

# Line 151 | Line 151 | begin
151    begin
152      Clear;
153      Params[0].AsInteger := 7;
154 <    Params[1].AsNumeric := NewNumeric(1.0);
154 >    Params[1].AsNumeric := DoubleToNumeric(1.0);
155      Params[2].AsVariant := 1234567;
156 <    Params[3].AsNumeric := NewNumeric(StrToFloat('2.3E-2'),-4);
157 <    Params[4].AsNumeric := NewNumeric('11e-4');
156 >    Params[3].AsNumeric := DoubleToNumeric(StrToFloat('2.3E-2'));
157 >    Params[4].AsNumeric := StrToNumeric('11e-4');
158      Params[5].AsVariant := 1234.25;
159    end;
160    Statement.Execute;
# Line 195 | Line 195 | procedure TTest21.ValidateNumericInterfa
195   var numeric: IFBNumeric;
196   begin
197    writeln(Outfile,'Validating Numeric Interface - IFBNumeric');
198 <  numeric := NewNumeric(StrToCurr('9999.123456780'));
198 >  numeric := CurrToNumeric(StrToCurr('9999.123456780'));
199    writeln(Outfile,'Value from Currency = ',numeric.getAsString);
200    writeln(Outfile,'Raw Value = ',numeric.getRawValue,' Scale = ',numeric.getScale);
201 <  numeric := NewNumeric(StrToCurr('9999.123456780')).clone(-2);
201 >  numeric := CurrToNumeric(StrToCurr('9999.123456780')).AdjustScaleTo(-2);
202    writeln(Outfile,'Value from Currency(rescaled) = ',numeric.getAsString);
203    writeln(Outfile,'Raw Value = ',numeric.getRawValue,' Scale = ',numeric.getScale);
204 <  numeric := NewNumeric(StrToFloat('9999.123456780'),-8);
204 >  numeric := DoubleToNumeric(StrToFloat('9999.123456780'));
205    writeln(Outfile,'Value from Double = ',numeric.getAsString);
206    writeln(Outfile,'Raw Value = ',numeric.getRawValue,' Scale = ',numeric.getScale);
207 <  numeric := NewNumeric(StrToInt64('9223372036854775807'));
207 >  numeric := IntToNumeric(StrToInt64('9223372036854775807'));
208    writeln(Outfile,'Value from Integer = ',numeric.getAsString);
209    writeln(Outfile,'Raw Value = ',numeric.getRawValue,' Scale = ',numeric.getScale);
210 <  numeric := NewNumeric('9223372036854775807');
210 >  numeric := StrToNumeric('9223372036854775807');
211    writeln(Outfile,'Value from string = ',numeric.getAsString);
212    writeln(Outfile,'Raw Value = ',numeric.getRawValue,' Scale = ',numeric.getScale);
213 <  numeric := NewNumeric('9999.123456780');
213 >  numeric := StrToNumeric('9999.123456780');
214    writeln(Outfile,'Value from string = ',numeric.getAsString);
215    writeln(Outfile,'Raw Value = ',numeric.getRawValue,' Scale = ',numeric.getScale);
216 <  numeric := NewNumeric('-1.2e-02');
216 >  numeric := StrToNumeric('-1.2e-02');
217    writeln(Outfile,'Value from string = ',numeric.getAsString);
218    writeln(Outfile,'Raw Value = ',numeric.getRawValue,' Scale = ',numeric.getScale);
219 <  numeric := NewNumeric(StrToBCD('9999.123456780'));
220 <  writeln(Outfile,'Value from BCD = ',numeric.getAsString);
221 <  writeln(Outfile,'Raw Value = ',numeric.getRawValue,' Scale = ',numeric.getScale);
219 >  try
220 >    numeric := BCDToNumeric(StrToBCD('9999.123456780'));
221 >    writeln(Outfile,'Value from BCD = ',numeric.getAsString);
222 >    writeln(Outfile,'Raw Value = ',numeric.getRawValue,' Scale = ',numeric.getScale);
223 >  except on E:Exception do
224 >    writeln(OutFile,'Delphi has a problem with this number: ',E.Message);
225 >  end;
226    numeric := NumericFromRawValues(9999123456780,-6);
227    writeln(Outfile,'Value from Raw Data = ',numeric.getAsString);
228    writeln(Outfile,'Raw Value = ',numeric.getRawValue,' Scale = ',numeric.getScale);
229 +
230 +  writeln(outfile,'Numeric Operations');
231 +  writeln(Outfile,'Add 2.23 + 24.12345 = ',NumericAdd(StrToNumeric('2.23'),StrToNumeric('24.12345')).GetAsString);
232 +  writeln(Outfile,'Add Double 2.23 + 24.12645 = ',NumericAdd(StrToNumeric('2.23'),24.12645).GetAsString);
233 +  writeln(Outfile,'Add integer 2.23 + 2412345 = ',NumericAdd(StrToNumeric('2.23'),2412345).GetAsString);
234 +  writeln(Outfile,'Subtract 2.23 - 24.12345 = ',NumericSubtract(StrToNumeric('2.23'),StrToNumeric('24.12345')).GetAsString);
235 +  writeln(Outfile,'Subtract Double 24.12645 - 2.23 = ',NumericSubtract(StrToNumeric('24.12645'),2.23).GetAsString);
236 +  writeln(Outfile,'Subtract integer 24123.45 - 223 = ',NumericSubtract(StrToNumeric('24123.45'),223).GetAsString);
237 +  writeln(Outfile,'Multiply 2.23 * 24.12345 = ',NumericMultiply(StrToNumeric('2.23'),StrToNumeric('24.12345')).GetAsString);
238 +  writeln(Outfile,'Multiply Double 24.12645 * 2.23 = ',NumericMultiply(StrToNumeric('24.12645'),2.23).GetAsString);
239 +  writeln(Outfile,'Multiply integer 241.2345 * 223 = ',NumericMultiply(StrToNumeric('241.2345'),223).GetAsString);
240 +  writeln(Outfile,'Divide 24.12345 / 2.23 = ',NumericDivide(StrToNumeric('24.12345'),StrToNumeric('2.23')).GetAsString);
241 +  writeln(Outfile,'Divide Double 2.23 / 24.12645 = ',NumericDivide(StrToNumeric('2.23'),24.12645).GetAsString);
242 +  writeln(Outfile,'Divide integer 241.2345 / 223 = ',NumericDivide(StrToNumeric('241.2345'),223).GetAsString);
243 +  writeln(Outfile,'Compare 2.23, -24.12345 = ',NumericCompare(StrToNumeric('2.23'),DoubleToNumeric(-24.12645)));
244 +  writeln(Outfile,'Compare integer 2.23, 3 = ',NumericCompare(StrToNumeric('2.23'),3));
245 +  writeln(Outfile,'Compare Double 2.23, 2.23 = ',NumericCompare(StrToNumeric('2.23'),2.23));
246 +  writeln(Outfile,'Negate 24.12345 = ',NegateNumeric(StrToNumeric('24.12345')).GetAsString);
247   end;
248  
249   function TTest21.TestTitle: AnsiString;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines