Ich schreibe eine Swift-App und beschäftige mich mit Dezimalzahlen in einer Datenbank (gespeichert in mysql als Dezimalzahlen, mit zwei Ziffern. Grundsätzlich sind es Verkäufe, die jeden Tag gemacht werden, also generell von $ 0 bis $ 1000, aber nicht Millionen und nichts wahnsinnig in Bezug auf nachfolgende Dezimalstellen, nur immer auf 2 Dezimalstellen gerundet).
Das hat mir geholfen: Wie formatiere ich die Währung richtig auf ios
.. Aber ich wollte hier nur eine schnelle Vernunftprüfung durchführen und sicherstellen, dass diese Strategie in Ordnung ist. d. h. ich würde NSDecimal oder NSDecimalNumber verwenden (gibt es ein bevorzugtes Swift-Äquivalent ??)
Was würdest du allen empfehlen, wenn ich in Swift mit Währungen handle? Ich möchte auch das Gebietsschema-basierte Währungssymbol verwenden. Ich habe eine Klasse namens Sales, die den fraglichen Betrag enthält. Wie empfehlen Sie den Datentyp?
Entschuldigung, wenn ich faul bin, habe ich ein paar Ideen, was ich tun soll, fühle mich aber ein wenig überwältigt von der "richtigen" Herangehensweise, besonders in einer ortssensiblen Art, und wollte hier mit euch allen einchecken.
Vielen Dank!
Update für Swift 3: Ein Decimal
-Typ ist jetzt mit verfügbar integrierte Unterstützung für Operatoren wie *
, /
, +
, <
usw. Wenn sie in einem Any-Kontext (an Objective-C übergeben) verwendet wird, wird sie mit NSDecimalNumber
überbrückt.
Alte Antwort:
NSDecimal
wird in Swift nicht wirklich unterstützt (es ist ein merkwürdiger undurchsichtiger Zeigertyp), aber NSDecimalNumber
ist - und wie in Obj-C, ist es das Beste, was man für die Basis-Zehn-Arithmetik verwenden kann (weil es tatsächlich seine Operationen in der Basis zehn ausführt). NSLocale
, NSNumberFormatter
und Freunde arbeiten ebenfalls und sollten Ihre Lokalisierungsanforderungen erfüllen.