Wednesday, August 10, 2022

[FIXED] How to round decimal places in swift 2

Issue

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
 $\(total)")

Solution

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)")


Answered By - vadian
Answer Checked By - Willingham (PHPFixing Volunteer)

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.