How to round to 2 decimal places in Swift

4 Answers

0 votes
import Foundation

let numberOfPlaces = 2.0
let multiplier = pow(10.0, numberOfPlaces)

var n = 879.1467
var rounded = round(n * multiplier) / multiplier
print(rounded)

n = 879.1567
rounded = round(n * multiplier) / multiplier
print(rounded)



/*
run:

879.15
879.16

*/

 



answered May 14, 2025 by avibootz
0 votes
import Foundation

var n = 879.1467
var roundedString = String(format: "%.2f", n)
print(roundedString) 

n = 879.1567
roundedString = String(format: "%.2f", n)
print(roundedString) 



/*
run:

879.15
879.16

*/

 



answered May 14, 2025 by avibootz
0 votes
import Foundation

var n = 879.1467
var rounded = (n * 100).rounded() / 100
print(rounded) 

n = 879.1567
rounded = (n * 100).rounded() / 100
print(rounded) 



/*
run:

879.15
879.16

*/

 



answered May 14, 2025 by avibootz
0 votes
import Foundation

func roundDecimal(_ value: Decimal, scale: Int, roundingMode: NSDecimalNumber.RoundingMode) -> Decimal {
    var roundedValue = Decimal()
    var originalValue = value
    NSDecimalRound(&roundedValue, &originalValue, scale, roundingMode)
    
    return roundedValue
}

var n = Decimal(879.1467)
var rounded = roundDecimal(n, scale: 2, roundingMode: .plain)
print(rounded) 

n = Decimal(879.1567)
rounded = roundDecimal(n, scale: 2, roundingMode: .plain)
print(rounded)



/*
run:

879.15
879.16

*/

 



answered May 14, 2025 by avibootz

Related questions

1 answer 89 views
1 answer 78 views
1 answer 95 views
2 answers 218 views
3 answers 178 views
1 answer 96 views
3 answers 242 views
...