Ich habe einen doppelten Wert als 22.368511. Ich möchte ihn auf 2 Dezimalstellen runden. dh es sollte 22,37 zurückgeben
Wie kann ich das machen?
iphone
objective-c
cocoa-touch
testndtv
quelle
quelle
Antworten:
Wie in den meisten Sprachen ist das Format
Weitere Beispiele finden Sie hier
Bearbeiten : Ich habe dies auch erhalten, wenn Sie über die Anzeige des Punktes in Fällen von 25.00 besorgt sind
quelle
setPositiveFormat:
, da diesetFormat:
Methode nicht existierte (nur für Mac definiert), aber dennoch - tolle Antwort, ersparte mir Stunden des Experimentierens, also +1 und ein großes Dankeschön :)Sie können den folgenden Code verwenden, um ihn auf zwei Dezimalstellen zu formatieren
Swift 4:
quelle
quelle
quelle
In Swift 2.0 und Xcode 7.2:
Beispiel:
quelle
Sie können die NSDecimalRound- Funktion verwenden
quelle
Sehen Sie sich diese Ausgabe an, um die Dezimalstellen von Ihrem Double zu entfernen
Obj C.
Die Ausgabe wird sein:
Swift 2.1 und Xcode 7.2.1
Die Ausgabe wird sein:
quelle
Ich wollte mit Jasons Antwort gehen, aber ich bemerkte, dass ich das in meiner Version von Xcode (4.3.3) nicht konnte. Nach ein wenig Recherche stellte ich fest, dass sie kürzlich die Klassenmethoden geändert und alle alten entfernt hatten. So musste ich es machen:
quelle
Verwenden Sie NSNumber * aNumber = [NSNumber numberWithDouble: number]; anstelle von NSNumber * aNumber = [NSNumber numberWithFloat: number];
quelle
Für Swift gibt es eine einfache Lösung, wenn Sie Foundation nicht importieren können, round () verwenden und / oder keinen String möchten (normalerweise, wenn Sie sich auf dem Spielplatz befinden):
Ergebnis: 31.726
quelle
Ich verwende die von Umberto Raimondi veröffentlichte Lösung, die den Typ Double erweitert:
quelle
Sie könnten dies tun:
quelle