decimalNumberByMultiplyingBy问题

Viv*_*vek 1 ios ios5

有谁知道这段代码有什么问题

NSDecimalNumber *quantity = [[NSDecimalNumber alloc] initWithString:[item objectForKey:@"Quantity"]];
NSDecimalNumber *price =  [[NSDecimalNumber alloc] initWithString:[item objectForKey:@"Price"]];
NSDecimalNumber *itemTotal = [price decimalNumberByMultiplyingBy:quantity];
Run Code Online (Sandbox Code Playgroud)

第3行引发异常并出现错误:

Terminating app due to uncaught exception 'NSDecimalNumberOverflowException', reason: 'NSDecimalNumber overflow exception'
Run Code Online (Sandbox Code Playgroud)

dra*_*aur 5

我猜你传递给initWithString的字符串不是有效数字.在计算itemTotal之前,将数量和价格与[NSDecimalNumber notANumber]进行比较.