PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Integerwert auf 3 stellen begrenzen



Nerb
05.04.2008, 11:44
Hallo,
für einen Ultraschallabstandswarner brauche ich eine funktion, die mir bei einem Integerwert die ersten 3 Stellen "abschneidet", dh alle nachfolgenden Stellen auf 0 setzt. Sonst kann ich das Ergebnis nicht auf einem Display anzeigen, weil es zu lang ist.
Gibt es da was fertiges?

mfg

pctoaster
05.04.2008, 15:01
Welche Stellen in welchem Zahlensystem ?
Mach mal ein Beispiel, was Du meinst.
Allgemein macht man so etwas mit der AND Funktion.

Gruß
pctoaster

Nerb
05.04.2008, 15:45
Hallo,
zb die Zahl 1234567 zu 1230000 machen, oder 98765 zu 98700.

mfg

geronet
05.04.2008, 16:07
int x = 1234567;
x /= 10000;
x*= 10000;

izaseba
05.04.2008, 16:14
Hallo,

Ich verstehe Dich nicht,

1234567 ist zu lang für das Display...
1230000 ist aber genauso lang :-k

Sonst würde ich mir die Zahl in ein char Aray umwandeln un an der 4. Stelle ein '\0' einfügen und dann Ausgeben...


Gruß Sebastian

pctoaster
05.04.2008, 16:23
Der Teiler 10000 müssen jetzt noch aus der Zahl bestimmt werden, da die Länge der Zahl ja nicht bekannt ist:
If (x > 100000) Teiler = 1000;
elseif (x > 10000) Teiler = 100;
usw.

Obwohl mir die Aufgabenstellung ja nicht so recht einleuchten mag.

pctoaster

Nerb
05.04.2008, 16:36
hallo,
hat sich erledigt. Die oben genannt Aufgabenstellung hat nichts mehr mit dem display zu tun, habe das leider erst nach dem posten gemerkt, denn für das display gesehen ist es total egal, weil beides gleich lang ist. Ich war zu verschlafen in der Birne ](*,)
Aber es trotzdem interessant zu erfahren wie man macht.

mfg