Realm Swift - 货币数据类型

Tom*_*yBs 0 realm swift

我在这个问题中注意到Using Realm.io to store money values

建议是对 Realm for Android/Java 中的货币值使用“long”数据类型。

Swift 的最佳推荐是什么?通过乘以基于货币的因子将其转换为 Int?目前我只处理单一货币,但理论上这可能会改变。作为货币价值,精度显然很重要。

dmo*_*row 5

我建议使用一种Int类型,然后除以 100 转换为美分,再乘以 100 以存储在 Realm 中。唯一的缺点是您将无法过滤该moneyWithCents值。

class HasMoney: Object {
    private dynamic var money:Int = 0

    var moneyWithCents: Double {
        get {
            return money/100.0
        }
        set {
            money = newValue * 100
        }
    }
}
Run Code Online (Sandbox Code Playgroud)