iOS(swift)四舍五入 保留n位小数 向上向下取整

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

参考博客:

double四舍五入并保留两位小数的方法

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页