2015-06-05 19 views
7

में घुमावदार चर और युगल गुणा करना मैं स्विफ्ट सीखने की तलाश में एक डिजाइनर हूं और मैं एक नौसिखिया हूं।स्विफ्ट

मुझे कोई अनुभव नहीं है।

मैं एक्सकोड के खेल के मैदान में मूल कोड का उपयोग कर एक टिप कैलकुलेटर बनाने की कोशिश कर रहा हूं।

यहां तक ​​कि मेरे पास अब तक है।

Binary operator '*' cannot be applied to operands of type 'Int' and 'Double'

इसका मतलब मैं युगल गुणा नहीं कर सकता है:

var billBeforeTax = 100 
var taxPercentage = 0.12 
var tax = billBeforeTax * taxPercentage 

मैं त्रुटि मिलती है?

क्या मुझे चर और युगल की बुनियादी अवधारणाओं में से कोई भी याद आ रही है?

+1

- यह पसंद किया जाता है कि, जहां आप कर सकते हैं, तो आप का उपयोग करें '' बजाय var' की let'। – ABakerSmith

+0

धन्यवाद! मैं इसे ध्यान में रखूंगा – bmoondesign

+0

यह एक डुप्लिकेट है ... मुझे बस यह पता चले कि यह एक डुप्लिकेट है ... – nhgrif

उत्तर

18

आप एक ही डेटा प्रकार के केवल दो ही कर सकते हैं।

var billBeforeTax = 100 // Interpreted as an Integer 
var taxPercentage = 0.12 // Interpreted as a Double 
var tax = billBeforeTax * taxPercentage // Integer * Double = error 

.. तुम इतनी तरह billBeforeTax घोषित हैं

var billBeforeTax = 100.0 

यह एक डबल के रूप में व्याख्या की जाएगी और गुणा काम करेंगे। या आप निम्न भी कर सकते हैं।

var billBeforeTax = 100 
var taxPercentage = 0.12 
var tax = Double(billBeforeTax) * taxPercentage // Convert billBeforeTax to a double before multiplying. 
+0

स्विफ्ट प्रकारों के बारे में बहुत संवेदनशील है। अधिकांश समय के लिए, आप विभिन्न प्रकार के दो चर के बीच ऑपरेशन नहीं कर सके। अच्छा उत्तर। – antonio081014

+0

धन्यवाद @ महिला! यह वास्तव में मदद करता है। – bmoondesign

+0

ग्रेट उत्तर @omoman – Trapp

1

तुम बस के रूप में नीचे डबल करने के लिए अपने पूर्णांक चर कास्ट करने के लिए है: एक असंबंधित नोट पर

var billBeforeTax = 100 
    var taxPercentage = 0.12 
    var tax = Double(billBeforeTax) * taxPercentage 
+0

आपके उत्तर के लिए धन्यवाद :) – bmoondesign