SwiftでNSNumber配列を合計する方法は? .reduce
を使用するとこのエラーが発生します。 NSNumber配列を合計する他の方法?SwiftでNSNumber配列を合計する方法は?
が
var record = [Record]()
var incomeFilter: [Record] = []
let formatter = NumberFormatter()
formatter.numberStyle = .currencyAccounting
formatter.currencySymbol = "¥"
formatter.maximumFractionDigits = 2
formatter.minimumFractionDigits = 2
incomeFilter = record.filter { $0.recordtype!.contains("Income") && $0.createdAt! == recordItem.createdAt!}
let incomeSumArray = incomeFilter.map{formatter.number(from: $0.amount!) ?? 0.00}.reduce(0, +)
//Cannot invoke 'reduce' with an argument list of type '(Int, _)
print(incomeSumArray)
//result without .reduce
//[9.99, 6.58, 7777.77]
[もう一度](https://stackoverflow.com/questions/47349698/is-there-any-way-to-increase-the-number-limit-of-double-type-in-swift/47349958# 47349958 )、なぜあなたは**最初に**「ダブル」の値を集計して**その後**数値フォーマッタを使用して 私は昨日の私の答えでエラーメッセージを説明しました – vadian
私はダブルを合計することはできないと思いますまず、いくつかの文字列にセパレータ "、"があるので、最初に 'double'を合計すると、1,000を超える数値はゼロになります。セパレータは、文字列をダブル変換ルーチンに分割します。 @vadian –