我想简单地从另一个NSDecimalNumber中减去一个NSDecimalNumber。无论出于何种原因,这都不起作用,并且第一个NSDecimalNumber没有更新。
这是我的代码。
func updateTotal(itemAmount amount: NSDecimalNumber) {
print("before: \(self.total), amount: \(amount)")
self.total.decimalNumberBySubtracting(amount)
print("after: \(self.total)")
}
前后的self.total都不受减法的影响。我正在使用swift 2.0
答案 0 :(得分:6)
这是因为decimalNumberBySubtracting(amount)
返回一个新值,代码会忽略该值:
let res = self.total.decimalNumberBySubtracting(amount)
print("after: \(res)")
如果您想修改self.total
,可以将其分配回来(假设它是var
)
self.total = self.total.decimalNumberBySubtracting(amount)