5 Stimmen

Wie kann ich einen float abrunden?

Ich muss irgendwie abrunden Float-Werte mit einer Genauigkeit von zwei Dezimalstellen, für futhur-Berechnung.

Wenn ich zum Beispiel 0,1098 habe, muss es 0,10 werden und wenn ich 0,1176 habe, muss es 0,11 werden.

Ziemlich viel ich denke, ich muss meine Floats auf 2 Dezimalstellen abschneiden

14voto

cobbal Punkte 68319

Normalerweise wird bei der Umwandlung in eine Zeichenkette gerundet, da binäre Fließkommazahlen nicht immer genau 2 Dezimalziffern darstellen können. Um einen NSString mit 2 Ziffern zu erhalten, verwenden Sie

[NSString stringWithFormat:@"%.02f", num];

Wenn Sie wirklich für weitere Berechnungen auf einen Fließkommawert abschneiden möchten, verwenden Sie etwas wie

((int)(num * 100)) / 100.0

und wenn Sie abrunden wollen, anstatt abzuschneiden

((int)(num * 100 + 0.5)) / 100.0

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X