ios - 如何从 NSDecimal 获取 NSDecimalNumber 的值?

标签 ios nsdecimalnumber

我有一个对象数组,每个对象都有一个 NSDecimalNumber,称它为“大小”

对于数组中的每个对象,我将减去一个建议的大小,称为 rSize。

然后我想进入结果 NSDecimalNumber 并获得增量的值,并不真正关心它是积极的还是消极的结果。

我想我将使用 decimalNumber 方法,它会返回一个 NSDecimal 结构,所以问题是:结构中的哪个属性会给我增量值?

换句话说:一个 NSDecimal 代表一个 NSDecimalNumber,但是 NSDecimal 结构的哪个属性持有这个值?

非常感谢 罗布

最佳答案

您的“delta”似乎是“rSize”与项目之间差异的绝对值。在这种情况下,您可以执行减法 (item – rSize),如果它在 NSDecimalNumber 内完全为负数,则将其乘以 -1:

NSDecimalNumber *negativeOne = [NSDecimalNumber decimalNumberWithMantissa:1 
                                                                 exponent:0
                                                               isNegative:YES];
NSDecimalNumber *delta = [item decimalNumberBySubtracting:rSize];
if ([delta compare:[NSDecimalNumber zero]] == NSOrderedAscending) {
    delta = [delta decimalNumberByMultiplyingBy:negativeOne];
}

然后在生成的增量对象上使用 -compare: 选择器对对象数组进行排序。

关于ios - 如何从 NSDecimal 获取 NSDecimalNumber 的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16011506/

相关文章:

iphone - 将 NSDecimalNumber 变为负数

cocoa - NSDecimalNumber减法

ios - NSDecimal 等于 NSDecimalNumber 值?

objective-c - 将 NSDecimalNumber 显示为 IB 中的货币

ios - 应用程序没有互联网时的 UIAlertView

ios - 如何获取我的 iOS 应用程序的根目录?

ios - UITableViewController.UIView.trailingAnchor 的位置与 UIViewController.UIView.trailingAnchor 不同

ios - 自定义 map 注释 iPhone 中的警告

iphone - 非常奇怪的iPhone货币加减法需要帮助

ios - 更改在 UIView draw(_rect) 中绘制的路径的颜色