1.四舍五入
给所有的double类型扩展一个新方法.
extension Double {
func roundTo(places: Int) -> Double {
let divisor = pow(10.0, Double(places))
return (self * divisor).rounded() / divisor
}
}
这样就可以像这样使用了: 3.1415.roundTo(places: 2)
其中rounded用法如下:
(5.2).rounded()
// 5.0
(5.5).rounded()
// 6.0
(-5.2).rounded()
// -5.0
(-5.5).rounded()
// -6.0
参考博客:
swift3四舍五入保留n位小数
2.向下取整
var d:Double = 13.4324 ;
d = Double(Int(d*100))/100
3.使用实例
if totalDistances < 1000 {
distanceStr = "\(Int(totalDistances.roundTo(places: 1)))m"
}else {
let totalDistancesKm:Double = totalDistances/1000
distanceStr = "\(totalDistancesKm.roundTo(places: 1))km"
}