将float转换为NSNumber

时间:2012-07-07 01:39:12

标签: 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

3 个答案:

答案 0 :(得分:48)

floatValue的方法NSNumber不接受参数。如果您想设置新的浮点数,则需要重新分配testNSNumber,因为NSNumber没有可变对应项:

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

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

答案 1 :(得分:14)

Swift 3.0:

let testNSNumber: NSNumber = NSNumber(value: myfloatvalue)

答案 2 :(得分:0)

Swift 2.0版本:

user.dir