微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Swift中的精度字符串格式说明符

下面是我以前截断一个浮点到两个小数位
NSLog(@" %.02f %.02f %.02f",r,g,b);

我检查了文档和电子书,但没有能够弄清楚。谢谢!

我最好的解决方案到目前为止,从 David’s response
import Foundation

extension Int {
    func format(f: String) -> String {
        return String(format: "%\(f)d",self)
    }
}

extension Double {
    func format(f: String) -> String {
        return String(format: "%\(f)f",self)
    }
}

let someInt = 4,someIntFormat = "03"
println("The integer number \(someInt) formatted with \"\(someIntFormat)\" looks like \(someInt.format(someIntFormat))")
// The integer number 4 formatted with "03" looks like 004

let someDouble = 3.14159265359,someDoubleFormat = ".3"
println("The floating point number \(someDouble) formatted with \"\(someDoubleFormat)\" looks like \(someDouble.format(someDoubleFormat))")
// The floating point number 3.14159265359 formatted with ".3" looks like 3.142

我认为这是最Swift的解决方案,将格式化操作直接绑定到数据类型。很可能在某处有一个内置的格式化操作库,或者很快就会发布。请注意,该语言仍处于测试阶段。

原文地址:https://www.jb51.cc/swift/322023.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐