Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Länge einer Zahl ermitteln


christoph - Mo 10.03.03 11:22
Titel: Länge einer Zahl ermitteln
Hi allerseits gibt es eigentlich ne function um die Länge einer Zahl (Typ Integer) zuermitteln ??
Ich meien das so 1-9 =1
10 - 99 = 2

im Prinzip so wie man die Länge eines Strings ermittelt .(length)..

Vielen Dank für eure Bemühungen.....


toms - Mo 10.03.03 11:29

LaengeDerZahl = Length(IntToStr(Zahl));


Christian S. - Mo 10.03.03 11:30

Versuch's mal hiermit:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
VAR zahl : Integer;
    laenge : INTEGER;
begin
  laenge:=0;
  repeat
    inc(laenge);
    zahl := zahl div 10;
  until zahl = 0;
end;

Alternativ kannst Du die Zahl natürlich in einen String umwandeln und dann die Länge des Strings bestimmen, aber ich finde, das ist eine Verschwendung von Rechenzeit.

MfG,
Peter

<edit>
Mist, da war ja einer schneller!
</edit>


Andreas Pfau - Fr 14.03.03 13:29


Quelltext
1:
2:
3:
var Laenge, Zahl: Integer;
begin
  Laenge := Ceil(Log10(Zahl));


Benötigt Unit Math! Keine Ahnung, wie das mit der Geschwindigkeit ist.