【发布时间】:2012-08-23 14:32:01
【问题描述】:
我有两个 NSDecimalNumbers,我需要将一个应用到另一个的幂,最初这段代码使用双精度数,我可以使用 pow() 函数计算它,如下所示:
double result = pow(value1, value2);
我遇到的问题是我将代码转换为使用 NSDecimalNumbers,虽然它们包含 toThePowerOf 方法,但它只接受 int 值。目前我必须解决这个问题的唯一方法是临时转换 NSDecimalNumbers 但这会导致精度损失。
double value1 = [decimal1 doubleValue];
double value2 = [decimal2 doubleValue];
double result = pow(value1, value2);
NSDecimalNumber *decimalResult = [[NSDecimalNumber alloc] initWithDouble:result];
有没有一种方法可以让我使用 NSDecimalNumbers 进行此计算而不会丢失精度?
我需要它来处理非整数值,例如:
value1 = 1.06
value2 = 0.0277777777
【问题讨论】:
-
value2的范围有什么限制吗?
标签: objective-c ios xcode math nsdecimalnumber