2012-07-07 9 views
19

पर फ्लोट कनवर्ट करना मुझे यहां कुछ बुनियादी याद आ रही है। इसे भूल जाना चाहिए। लेकिन मूल रूप से, मेरे पास निम्नलिखित कोड है जिसका उद्देश्य एनएसएनंबर लेता है, इसे फ्लोट में परिवर्तित करता है, इसे 2 से गुणा करता है और परिणाम एनएसएनंबर में वापस कर देता है। मुझे अंतिम चरण में एक त्रुटि मिलती है, और मैं फंस गया हूँ। मुझे वहां क्या करना चाहिएएनएसएनंबर

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 

उत्तर

43

विधि NSNumber की floatValue पैरामीटर नहीं लेता है।

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

या

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

@ (myfloatvalue) का उपयोग क्यों नहीं करें? –

+0

@ जूलियन क्रोल धन्यवाद! यह उत्तर '@ (...) 'वाक्यविन्यास पेश किए जाने से एक साल पहले लिखा गया है। मैंने इसे नए वाक्यविन्यास को प्रतिबिंबित करने के लिए अद्यतन किया। – dasblinkenlight

+0

अब बहुत बेहतर है :) मुझे पता है कि पोस्ट किए गए उत्तरों को व्यक्तिगत रूप से ताजा रखने में समस्या है लेकिन एक समुदाय के रूप में हम इसे प्राप्त कर सकते हैं। –

0

स्विफ्ट 2.0 संस्करण:

आप एक नया नाव संख्या निर्धारित करना चाहते हैं, तो आप क्योंकि NSNumber एक परिवर्तनशील समकक्ष नहीं है, फिर से आवंटित करने के लिए testNSNumber की जरूरत
let testNSNumber: NSNumber = NSNumber(float: myfloatvalue) 
13

स्विफ्ट 3.0:

let testNSNumber: NSNumber = NSNumber(value: myfloatvalue) 
संबंधित मुद्दे