Formatting decimal places with unknown number

后端 未结 4 1453
青春惊慌失措
青春惊慌失措 2020-12-04 02:29

I\'m printing out a number whose value I don\'t know. In most cases the number is whole or has a trailing .5. In some cases the number ends in .25 or .75, and very rarely th

4条回答
  •  伪装坚强ぢ
    2020-12-04 02:46

    My 2 cents ;) Swift 3 ready

    Rounds the floating number and strips the trailing zeros to the required minimum/maximum fraction digits.

    extension Double {
        func toString(minimumFractionDigits: Int = 0, maximumFractionDigits: Int = 2) -> String {
            let formatter = NumberFormatter()
            formatter.locale = Locale(identifier: "en_US_POSIX")
            formatter.minimumFractionDigits = minimumFractionDigits
            formatter.maximumFractionDigits = maximumFractionDigits
    
            return formatter.string(from: self as NSNumber)!
        }
    }
    

    Usage:

    Double(394.239).toString() // Output: 394.24
    Double(394.239).toString(maximumFractionDigits: 1) // Output: 394.2
    

提交回复
热议问题