btothemoon
btothemoon

Reputation: 301

Multiplying variables and doubles in swift

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?

Upvotes: 17

Views: 37753

Answers (2)

Icaro
Icaro

Reputation: 14845

You just have to cast your int variable to Double as below:

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

Upvotes: 2

omoman
omoman

Reputation: 859

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.

Upvotes: 25

Related Questions