Integer和NSDecimalNumber的基本数学问题 - 二进制的操作数无效

Sle*_*lee 7 iphone objective-c

男人最简单的东西在Objective-C中对我来说似乎总是那么疯狂,无论如何我需要做一些基本的减法和乘法而且难倒.

我有:

client.PricingDiscount <-- this is an Integer 16 property on a CoreData NSManagedObject
sku.RetailPrice <-- this is a Decimal property on a CoreData NSManagedObject
Run Code Online (Sandbox Code Playgroud)

我只是想让NSDecimalNumber像这样显示:

NSDecimalNumber *showPrice = sku.RetailPrice * (100 - client.PricingDiscount);
Run Code Online (Sandbox Code Playgroud)

我已经尝试了一些不同形式的这个,无法弄清楚我到底做错了什么.

fal*_*eek 10

标准运算符不能与之一起使用 NSDecimalNumber

NSDecimalNumber *one = [NSDecimalNumber decimalNumberWithDecimal:[[NSNumber numberWithInt:100] decimalValue]]; 
NSDecimalNumber *factor = [one decimalNumberBySubtracting:[NSDecimalNumber decimalNumberWithDecimal:[client.PricingDiscount decimalValue]]];
NSDecimalNumber *showPrice = [sku.RetailPrice decimalNumerByMultiplying:factor];
Run Code Online (Sandbox Code Playgroud)