NEW: Master Swift design patterns with my latest book! >>

How to multiply an int and a double

Written by Paul Hudson    @twostraws

Swift’s type safety means code to multiply an integer and a double won’t compile:

let a = 4
let b = 5.0
let c = a * b

You can either fix this by forcing your integer to be a double:

let a: Double = 4
let b = 5.0
let c = a * b

Alternatively you can convert your integer to a double as needed:

let a = 4
let b = 5.0
let c = Double(a) * b

If this situation really annoys you and you want it solved fully, add this custom * function:

func *(lhs: Int, rhs: Double) -> Double {
    return Double(lhs) * rhs
}

That will multiply an integer on the left with a double on the right, returning a double containing the result.

Available from iOS 8.0

Did this solution work for you? Please pass it on!

Other people are reading…

About the Swift Knowledge Base

This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.

Learn Swift faster!

Take your Swift learning to the next level: buy the Hacking with Swift e-book and get bonus material to help you learn faster!

Click here to visit the Hacking with Swift store >>