2011-01-10 12 views
2

Ich bin auf einige Blogs und Forenbeiträge gestoßen, wo Leute sagen, dass man NSDecimalNumber statt Floats verwenden sollte, wenn es um Währungen geht. Ich finde, dass ich von NSDecimalNumber in Floats/Doubles umwandeln muss, um einige Arithmetik zu machen, die die Nützlichkeit von NSDecimalNumber negiert. Ich meine, warum nicht einfach Floats benutzen und sich nicht mit den ganzen Conversion-Problemen herumschlagen?NSDecimal vs Float (iOS)

Was ist der Vorteil von NSDecimalNumber und wie führen Sie arithmetische Berechnungen durch?

Was ist das Fehler-Ding, das schwebt und NSDecimalNumber nicht, weshalb Leute sagen, dass man NSDecimalNumber verwenden muss, wenn man mit Währungen umgeht? Bitte quantifizieren Sie den Fehler?

Vielen Dank im Voraus,
Hiren.

+0

Abhängig von der Währung, die Sie darstellen möchten, sollten Sie daran denken, dass es sinnvoller ist, den Betrag in Cent zu speichern und die entsprechenden Änderungen in Ihrem Code vorzunehmen, damit Sie reine, vorzeichenlose Ganzzahlen weitergeben können. Auf diese Weise müssen Sie sich keine Gedanken über Genauigkeitsverluste machen (es sei denn, Sie beschäftigen sich mit Steuern). –

Antwort

1

Die class documentation hat arithmetische Anweisungen. Die Klasse ist unveränderlich, also sieht es ein bisschen komisch aus. This question hat sehr gute Antworten und der Link in der angenommenen Antwort ist der Schlüssel.

+0

Danke! Ich bin mir nicht sicher, wie ich es in der Unterrichtsdokumentation verpasst habe. Der andere Link war sehr informativ. – HM1