decimalNumberByMultiplyingBy问题

时间:2013-04-29 16:37:01

标签: ios ios5

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

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'

1 个答案:

答案 0 :(得分:5)

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