Gast
#3140340
Hey, ich will eine float zahl in c auf "s" stellen aufrunden, wobei ich dies innerhalb eines Makros in einer Zeile schreiben will. Hat jemand eine Idee? Danke schonmal
|
Anzeige
|
Abrunden einer float zahl in c
Gast
#3140340
Hey, ich will eine float zahl in c auf "s" stellen aufrunden, wobei ich dies innerhalb eines Makros in einer Zeile schreiben will. Hat jemand eine Idee? Danke schonmal Benötigst du das Runden im Programm oder für nur für die Ausgabe? Grüsse
wäre so ein spontaner Einfall, zwar nicht schön, aber naja.. Der Wert unter dem Bruchstrich muss noch nach float/double gescasted werden. Sonst gibt es nur eine Integer Division und du hast gar keine Nachkommastellen mehr. Grüsse Stimmt, übersehen. Leon W. schrieb: > float c; > .... > c=(float)((int64_t)(c*10^s)/10^s) > wäre so ein spontaner Einfall, zwar nicht schön, aber naja.. Runden per XOR? ;-)
Gast
#3140688
Guckst Du: - ceil() - floo() Hier wird auf Ganzzahlen gerundet. In diesem Fall müsstest Du zuerst die Zahl größer skalieren, dann runden und zum Ende wieder runter skalieren.
Gast
#3140885
mar IO schrieb: > - floo() floor() C-Noob schrieb: > Abrunden einer float zahl in c > ich will eine float zahl in c auf "s" stellen aufrunden, Was denn nun? Auf- oder abrunden?
Gast
#3141015
floats sind Hexadezimalbrueche, die kannst du nicht auf eine bestimmte Anzahl Dezimalstellen runden. Dafuer musst du sie erst in ein passendes Zahlenformat konvertieren.
Gast
#3144524
Marwin schrieb: > floats sind Hexadezimalbrueche, die kannst du nicht auf eine bestimmte > Anzahl Dezimalstellen runden. Eigentlich Binärbrüche, i.e. Rationale Zahlen, bei denen der Nenner eine 2er-Potenz ist. Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|