2011-07-06 12 views
8

Wiem, że można podsumować tablicę NSNumbers przy użyciu keypath @ sum.self, ale czy to również działa z NSDecimalNumbers? Czy wynik będzie dokładny?Sum NSArray z NSDecimalNumbers

EDYCJA: Aby być bardziej szczegółowe, oto kod wiem, że działa z NSNumber.

NSNumber *sum = [numArray valueForKeyPath:@"@sum.self"]; 

Odpowiedz

12

NSDecimalNumber jest podklasą NSNumber, więc będzie dziedziczyć tę zdolność.

Również polecam przy użyciu jednego z nich:

NSDecimalNumber *sum = [numArray valueForKeyPath:@"@sum.floatValue"]; 

float sum = [[numArray valueforKeyPath:@"@sum.floatValue"] floatValue]; 
+4

Nie używając 'floatValue' negować precyzję' NSDecimalNumber'? – Austin

+0

Tak, robi. To bardzo zła praktyka. –