为了账号安全,请及时绑定邮箱和手机立即绑定

SWIFT中的精确字符串格式规范

SWIFT中的精确字符串格式规范

慕容3067478 2019-06-28 16:44:07
SWIFT中的精确字符串格式规范下面是我以前如何将浮点数截断为小数点后两位NSLog(@" %.02f %.02f %.02f", r, g, b);我检查了文档和电子书,但还没有弄清楚。谢谢!
查看完整描述

3 回答

?
慕斯709654

TA贡献1840条经验 获得超5个赞

到目前为止,我最好的解决方案是大卫的反应:

import Foundationextension 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 004let 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

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


查看完整回答
反对 回复 2019-06-28
?
阿晨1998

TA贡献2037条经验 获得超6个赞

我发现String.localizedStringWithFormat做得很好:

例子:

let value: Float = 0.33333let unit: String = "mph"yourUILabel.text = String.localizedStringWithFormat("%.2f %@", value, unit)


查看完整回答
反对 回复 2019-06-28
  • 3 回答
  • 0 关注
  • 541 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信