【发布时间】:2015-12-22 08:01:49
【问题描述】:
let totalPrice: Double = price * value
var money: Double = 0
for totalPrice in dataArray {
money = money + totalPrice
}
无法分配二元运算符“+”
【问题讨论】:
标签: ios arrays xcode swift for-loop
let totalPrice: Double = price * value
var money: Double = 0
for totalPrice in dataArray {
money = money + totalPrice
}
无法分配二元运算符“+”
【问题讨论】:
标签: ios arrays xcode swift for-loop
“dataArray”是如何声明的?
是 [AnyObject] 还是 [Double]
如果是前者,则需要使用以下命令将其转换为双精度:
guard let price = totalPrice as? Double else { continue }
money = money + totalPrice
【讨论】:
totalPrice 是Element 的类型。我认为应该有某种类型的金额是Double,不是吗?
当您处理货币数据时,请检查NSDecimalNumber。 Double 将丢失大量数字。
【讨论】:
问题在于您的 dataArray 是 AnyObject 类型的数组。如果它真的包含双打,你可以这样迭代:
for totalPrice in dataArray as! [Double] {
money = money + totalPrice
}
【讨论】: