2015-04-13 9 views
5

मैंने एक नया खेल का मैदान बनाया और कोड को निम्नलिखित के रूप में लिखा।स्विफ्ट खेल के मैदान में Int से Double को कैसे परिवर्तित करें?

var value = 33 //This will make an integer type of value variable with value 33 

value = 22.44 //This doesn't execute as its assigning Double/Float value to an integer. 

मैं

1. 
value = Double(value) 
value = 44.55 //Error here 

2. 
value = Double(33.44) //Error here too. 

3. 
value : Double = 33.22 //Error here too. 

अब क्या मैं मान के चल बिन्दु आवंटित करने के लिए क्या करना चाहिए की कोशिश की।

नोट: मैं स्विफ्ट में सीखने का स्तर पर हूं।

धन्यवाद।

+0

कोशिश वर मूल्य = 33.0 –

उत्तर

12

var value = 33 घोषित करने से Int के रूप में मूल्य का अनुमान लगाया जाएगा। यदि आप 33 को असाइन करना चाहते हैं और फ्लोट या डबल के रूप में value बनाना चाहते हैं, तो आपको var value : Double = 33 टाइप करना होगा या var value = Double(33) असाइन करते समय 33 को डबल में कनवर्ट करना होगा।

+0

क्या होगा अगर मैं पहली बार 33 आवंटित , यह एक पूर्णांक होगा। और बाद में मैं उस डेटा प्रकार को डबल में परिवर्तित नहीं कर सकता? –

+2

नहीं, आप घोषित 'Int' को 'डबल' में परिवर्तित नहीं कर सकते हैं। स्विफ्ट एक स्थिर टाइप की गई भाषा है, एक बार एक चर के प्रकार के बाद, इसे बदला नहीं जा सकता है। – bontoJR

+0

ठीक है प्रिय। भाषा में एक मजबूत कमी, अभी भी ऐप्पल इसकी लचीला कहता है;) –

0

पहली पंक्ति

var value = 33 

के साथ आप Int के प्रकार के साथ एक चर बनाया (क्योंकि 33 एक पूर्णांक शाब्दिक है)। उसके बाद, आप उस पर किसी अन्य प्रकार को असाइन नहीं कर सकते, केवल Int एस। कनवर्टन के परिणाम को स्टोर करने के लिए आपको एक और चर बनाना चाहिए।

1

आपको डेटा प्रकार को परिवर्तनीय घोषणा के भीतर सेट करना होगा।

var value: Double = 33 

लेकिन तुम भी तो है कि यह कर सकता है:

var value: Double 
value = 33 

एक वर के रूप में यह परिभाषित चर परिवर्तनशील हो जाएंगी, ताकि परिभाषित करने के बाद आप मूल्य बदल सकते हैं

value = 33.2 
value = 46.1 

हैं आप केवल स्थिर, या एक चर को परिभाषित कर रहे हैं जिसे बदलने की आवश्यकता नहीं है, आप इसे सबसे अच्छी तरह से परिभाषित कर रहे हैं:

let value: Double = 33.2 

आप इस की जरूरत है कुछ बिंदु पर किसी भी कारण से एक इंट होने के लिए आप इसे एक समारोह के लिए के माध्यम से पारित या तो जैसे यह परिभाषित कर सकते हैं:

let intValue = Int(value) 
संबंधित मुद्दे