轻松截断 Double-swift

noɥ*_*ɐɹƆ 3 truncate swift

我希望能够将 19.3563443 的经度/纬度值转换为 19.35634(小数点后五位)。有什么简单的方法可以做到这一点吗?

Leo*_*bus 5

您可以使用NumberFormatter

extension Formatter {
    static let number = NumberFormatter()
}
Run Code Online (Sandbox Code Playgroud)
extension FloatingPoint {
    func fractionDigitsRounded(to digits: Int, roundingMode:  NumberFormatter.RoundingMode = .halfEven) -> String {
        Formatter.number.roundingMode = roundingMode
        Formatter.number.minimumFractionDigits = digits
        Formatter.number.maximumFractionDigits = digits
        return Formatter.number.string(for:  self) ?? ""
    }
}
Run Code Online (Sandbox Code Playgroud)
let value = 19.3563443
let roundedToFive = value.fractionDigitsRounded(to: 5) // "19.35634"
Run Code Online (Sandbox Code Playgroud)