Swift Double向上取整和向下取整、Double转Int/String

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_25639809/article/details/85007817

floor()函数:向下取整,取小于等于这个数的最大整数 (floor(3.94) = 3)
ceil()函数:向上取整,取大于等于这个数的最小整数 (ceil(3.14) = 4)

import Foundation

extension Double {
    func intValue() -> Int {
        return Int(self)
    }
    func stringIntValue() -> String {
        return String(Int(self))
    }
    func stringValue() -> String {
        return String(self)
    }
    
    func floorValue(bit: Int = 0) -> Double {
        var n = bit
        var s = 1.0
        while n > 0 {
            n -= 1
            s *= 10
        }
        return floor(self * s) / s
    }
    func floor2Value() -> Double {
        return floorValue(bit: 2)
    }
    func stringFloor2Value() -> String {
        return String(format: "%.2f", self.floor2Value())
    }
   
    func ceilValue(bit: Int = 0) -> Double {
        var n = bit
        var s = 1.0
        while n > 0 {
            n -= 1
            s *= 10
        }
        return ceil(self * s) / s
    }
    func ceil2Value() -> Double {
        return ceilValue(bit: 2)
    }
    func stringCeil2Value() -> String {
        return String(format: "%.2f", self.ceil2Value())
    }
}

猜你喜欢

转载自blog.csdn.net/qq_25639809/article/details/85007817