我在这里缺少一些基本的东西。一定已经忘记了。但基本上,我有以下代码,目的是获取一个NSNumber,将其转换为浮点数,再乘以2,然后将结果返回给NSNumber。我在最后一步出现错误,并陷入了困境。我应该在那里做什么。
NSNumber *testNSNumber = [[[NSNumber alloc] initWithFloat:200.0f] autorelease];
float myfloatvalue = [testNSNumber floatValue] * -2;
NSLog(@" Test float value %1.2f \n\n",myfloatvalue);
[testNSNumber floatValue:myfloatvalue]; // error here is floatValue is not found
最佳答案
floatValue
的NSNumber
方法不带参数。如果您想设置一个新的浮点数,则需要重新分配testNSNumber
,因为NSNumber
没有可变的副本:
testNSNumber = @(myfloatvalue); // The new syntax
或者
testNSNumber = [NSNumber numberWithFloat: myfloatvalue]; // The old syntax