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.

Download for free!

Want a free 75-minute video teaching functional programming, protocol-oriented programming, and more? This is your lucky day!

Click here to visit the Hacking with Swift store >>