Diljot Jawanda Diljot Jawanda - 1 year ago 146
Swift Question

How to round decimal places in swift 2

Trying to output the total of three number values from a dictionary and then adding HST of 13% to the total. However, the calculations print out as $13.5261 with four decimals places. How do I cut out the end decimal places, so it's $13.52? Or is there a way to round it, so it's $13.53

import UIKit

var menu = ["Coke": 1.99, "Coffee": 3.99, "Water": 5.99]

var hst = 1.13

var total = hst * (menu["Coke"]! + menu["Coffee"]! + menu["Water"]!)

print("The total for your order is

Answer Source

The usual – and most versatile – way is NSNumberFormatter

let menu = ["Coke": 1.99, "Coffee": 3.99, "Water": 5.99]

let hst = 1.13

let total = hst * (menu["Coke"]! + menu["Coffee"]! + menu["Water"]!)

let formatter = NSNumberFormatter()   
formatter.maximumFractionDigits = 2
let roundedTotal = formatter.stringFromNumber(total)!

print("The total for your order is $\(roundedTotal)")
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download