Multiplying variables and doubles in swift

bmoondesign picture bmoondesign · Jun 6, 2015 · Viewed 32.1k times · Source

I'm a designer looking into learning Swift and I'm a beginner.

I have no experience whatsoever.

I'm trying to create a tip calculator using basic code in Xcode's playground.

Here is what I have so far.

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

I get the error:

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

Does this mean I can't multiply doubles?

Am I missing any of the basic concepts of variables and doubles here?

Answer

omoman picture omoman · Jun 6, 2015

You can only multiple two of the same data type.

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

If you declare billBeforeTax like so..

var billBeforeTax = 100.0

It will be interpreted as a Double and the multiplication will work. Or you could also do the following.

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