Swift 数字类型文本 去除小数无效的0


extension BinaryFloatingPoint where Self: CustomStringConvertible{
    
    
    /// 数字类型文本
    ///
    /// 可自定义有效小数位
    /// example:
    ///    var num: Float = 8.0
    ///    num.ec_description()     //"8"
    ///
    ///    num = 8.100
    ///    num.ec_description()     //"8.1"
    ///
    ///    num = 8.888
    ///    num.ec_description()     //"8.888"
    ///    num.ec_description(significand: 2)   //"8.89"
    ///
    /// - parameter significand: 小数的有效位数

    func ec_description(significand:Int? = nil) -> String{
        
        let number = Int(self)
        if Self(number) == self { return number.description }
        guard let significand = significand else { return self.description }
        return String(format: "%.\(significand)f", self as! CVarArg)
    }
    
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容