如果我可能会提出两个简单的问题,那么我应该如何处理两个NSNumber对象,执行计算并最终得到一个也是NSNumber的结果?NSNumber计算和精度?
NSNumber *flux = [[NSNumber alloc] initWithDouble:100.0];
NSNumber *mass = [[NSNumber alloc] initWithDouble:3];
double intermediate = [flux doubleValue]/[mass doubleValue];
NSLog(@"INTER : %.20f", intermediate);
NSNumber *result = [[NSNumber alloc] initWithDouble:intermediate];
NSLog(@"RESULT: %@", result);
...
...
[flux release];
[mass release];
[result release];
另外从NSLog看在控制台的结果,是否有任何精度损失?我会假设没有,我所看到的只是显示精度,但只是好奇?
INTER : 33.33333333333333570181
RESULT: 33.33333333333334
加里
我相信你误解了这个问题。 – 2010-02-25 12:32:29
更像是我在一条正切线上。我编辑澄清。 – TechZen 2010-02-25 12:36:57
谢谢,很高兴知道NSDecimal,我会看看。 – fuzzygoat 2010-02-25 13:48:34