2009-06-28 9 views

उत्तर

48

अतीत में() सिंटैक्स का उपयोग करके एक CGFloat मान कास्टिंग करने के लिए मेरे लिए ठीक काम किया है। CGFloat को सिर्फ "टाइपपीफ फ्लोट CGFloat" के रूप में परिभाषित किया गया है; ताकि आप इसे उसी तरह एक नाव कास्टिंग आप चाहते हैं के बारे में जाना:

CGFloat f = (CGFloat)intVal; 

या, अपने मूल्य है अगर एक निरंतर:

CGFloat f = 1.10; 
+2

दुर्भाग्य से यह नहीं रह गया है 64 बिट है, जहां एक CGFloat एक 'डबल है पर काम करता है ': http: // stackover flow.com/questions/1264924/whats-the-difference-between-using-cgfloat-and-float –

+2

यदि आप 'f' प्रत्यय को हटाते हैं तो इसे काम करना चाहिए, 32 पर डबल से फ़्लोट करने के लिए एक अंतर्निहित डाउनकास्ट होगा 64-बिट एक पर प्लेटफार्म और कोई कलाकार नहीं। –

+3

धन्यवाद जो - मैंने समाधान अपडेट किया है। –

7

मैं कैसे तेजी से में भी ऐसा ही करने में खोज रहा था और मैं पहला परिणाम (उच्च स्थान) में सवाल लगता है तो मैं जवाब पोस्ट करेंगे अगर मामले में किसी को मिल गया था मुझे :) की तरह भाग्यशाली था

let myCGFloat = CGFloat(myFloat) 
संबंधित मुद्दे