有谁知道这段代码有什么问题
NSDecimalNumber *quantity = [[NSDecimalNumber alloc] initWithString:[item objectForKey:@"Quantity"]];
NSDecimalNumber *price = [[NSDecimalNumber alloc] initWithString:[item objectForKey:@"Price"]];
NSDecimalNumber *itemTotal = [price decimalNumberByMultiplyingBy:quantity];
第3行引发异常并出现错误:
Terminating app due to uncaught exception 'NSDecimalNumberOverflowException', reason: 'NSDecimalNumber overflow exception'
答案 0 :(得分:5)
我猜你传递给initWithString的字符串不是有效数字。在计算itemTotal之前,将数量和价格与[NSDecimalNumber notANumber]进行比较。