Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.628 Beiträge
Delphi 12 Athens
|
AW: Re: AW: Int32 on input should have specified numbers count on output
14. Okt 2010, 15:39
Zitat von Woj[I:
// Edited[/I]
@DeddyH, your function working
Fine, but you should declare RangeMin and RangeMax as Extended to avoid wrong results due to integer overflows (did not think about this before):
Delphi-Quellcode:
function NumberToDigits(aNumber: integer; Digits: Byte = 5): Cardinal;
var RangeMin, RangeMax: Extended;
begin
if Digits < 1 then
raise Exception.Create(' What number do you expect to get having less than 1 digit?');
Result := abs(aNumber);
RangeMin := Power(10,Pred(Digits));
RangeMax := Power(10,Digits) - 1;
while Result > RangeMax do
Result := Result div 10;
while Result < RangeMin do
Result := Result * 10;
end;
Detlef "Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
|