如下面的屏幕截图所示,nsdt
的值约为0.033,但doubleValue
方法返回了NaN。为什么不返回0.033?
-(void) updateWithDTNSTime:(NSNumber*) nsdt;
{
double dt = [nsdt doubleValue];
if(isnan(dt))
{
printf("nan\n");
}
[self updateWithDTime:dt];
}
答案 0 :(得分:0)
检查创建nsdt变量的代码。它应该是这样的:
nsdt - [NSNumber numberWithDouble:0.033];
如果您的代码如下所示,您将获得0:
int x = 0.033;
NSNumber *test = [NSNumber numberWithDouble:x];
double y = [test doubleValue];
NSLog(@"y= %f", y);