float auf 2 Nachkommastellen begrenzen...

Status
Nicht offen für weitere Antworten.

zastu

Grünschnabel
Hi@ all
kann mir jemand erklären wie ich eine float-Zahl auf x Nachkommastellen begrenze. Und ob ich bestimmen kann das sie auf oder abgerundet wird... :) :) :)
 
Moin Moin,

für Strings gehts mit

Code:
float x= 1/3;
CString test;
test.Format("%.2f",x);
Entweder von da aus wieder in ne Zahl wandeln mit "atoi" oder "atof", oder den Rattenschwanz rausrechnen.

Gruss Michael
 
wie wärs mit:
float x=0.4711;
String s=FloatToStrF(x,/*hier kommen diverse sachen, u.a. wie viele nachkommastellen, weiß ich jetzt aber nicht auswendig. siehe hilfe*/);
 
Hallo,

wenn du schon nen float hast und den nur kürzen möchtest

Code:
float f = 4.566456456454713131;   // dein float
f = f + 0.005;                   // damit er "richtig" rundet, bei 3 nachkommastellen 0.0005 usw.
f = (int)(f*100);               // hier wird der float *100 gerechnet und auf int gecastet, so fallen alle weiteren Nachkommastellen weg
f = f/100;                      // und hier wieder durch 100 dann haste 2 Nachkommastellen
                               // bei 3 Nachkommastellen jeweils mit 1000 Multiplizieren und dividieren
cout << f;
Ich könnte auch nen komplizert aussehenden Einzeiler schreiben, aber so sieht es übersichtlicher aus :)

MfG Turri
 
Status
Nicht offen für weitere Antworten.

Neue Beiträge

Zurück