我在这里缺少一些基本的东西。一定已经忘记了。但基本上,我有以下代码,目的是获取一个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

最佳答案

floatValueNSNumber方法不带参数。如果您想设置一个新的浮点数,则需要重新分配testNSNumber,因为NSNumber没有可变的副本:

testNSNumber = @(myfloatvalue); // The new syntax

或者
testNSNumber = [NSNumber numberWithFloat: myfloatvalue]; // The old syntax

10-08 09:36