2016-08-06 85 views
2

我想從另一個簡單地減去一個NSDecimalNumber。無論出於何種原因,這不起作用,並且第一個NSDecimalNumber沒有更新。減去NSDecimalNumber swift?

這是我的代碼。

func updateTotal(itemAmount amount: NSDecimalNumber) { 
    print("before: \(self.total), amount: \(amount)") 
    self.total.decimalNumberBySubtracting(amount) 
    print("after: \(self.total)") 
} 

這兩個self.total之前和之後都不受減法的影響。我使用SWIFT 2.0

回答

6

這是因爲decimalNumberBySubtracting(amount)返回一個新的價值,你的代碼忽略:

let res = self.total.decimalNumberBySubtracting(amount) 
print("after: \(res)") 

如果你想修改self.total,您可以分配回(假定它是一個var

self.total = self.total.decimalNumberBySubtracting(amount) 
+1

man我在我的代碼中除了減法之外還有其他操作,我重置了這個值。我認爲這將是一個休息的好時機。謝謝您的幫助 – matt2405