将float转换为NSNumber

K17*_*K17 20 ios

我在这里缺少一些基本的东西.一定忘记了.但基本上,我有以下代码,目的是采用NSNumber,将其转换为float,将其乘以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
Run Code Online (Sandbox Code Playgroud)

das*_*ght 48

该方法floatValueNSNumber不带参数.如果要设置新的浮点数,则需要重新分配testNSNumber,因为NSNumber没有可变对应项:

testNSNumber = @(myfloatvalue); // The new syntax
Run Code Online (Sandbox Code Playgroud)

要么

testNSNumber = [NSNumber numberWithFloat: myfloatvalue]; // The old syntax
Run Code Online (Sandbox Code Playgroud)


Mhd*_*ali 14

Swift 3.0:

let testNSNumber: NSNumber = NSNumber(value: myfloatvalue)
Run Code Online (Sandbox Code Playgroud)