1
我知道這種問題不應該被詢問。但是,我堅持了幾天沒有任何線索。所以,我真的需要幫助。NSDecimalNumber與NSDecimalNumber相乘返回0
我有一個核心數據對象,比方說,產品。
//產品
NSDecimalNumber *量
NSDecimalNumber *價格
我試圖做的是總結的價格,將其設置爲一個標籤。我在這裏搜索並發現了一些話題,說NSDecimalNumber不能執行標準的匹配操作,因爲它是一個包含實際值的對象。它必須通過decimalNumberByAdding和decimalNumberByMultiplyingBy。所以,我寫了下面的代碼,
NSDecimalNumber *totalPrice = [[NSDecimalNumber alloc] initWithDouble:0.0];
[self.productArray enumerateObjectsUsingBlock:^(Product *product, NSUInteger idx, BOOL *stop) {
[totalPrice decimalNumberByAdding:[product.price decimalNumberByMultiplyingBy:product.quantity]];
NSLog(@"%@", totalPrice);
NSLog(@"%@", totalPrice.doubleValue);
NSLog(@"%@", totalPrice.decimalValue);
}];
沒有那些NSLog顯示正確的結果。他們都沒有顯示0或NULL
但是,如果我NSLog下面的代碼,可以顯示正確的結果。
[product.price decimalNumberByMultiplyingBy:product.quantity]
你能幫我指出我在這裏錯過了什麼嗎?
確保你不乘以零。 NSLog在使用它們之前記錄你的初始值。 – 2012-07-19 11:27:59