【问题标题】:How to correctly format strings to populate labels in Swift如何正确格式化字符串以在 Swift 中填充标签
【发布时间】:2020-11-01 14:41:13
【问题描述】:

我有一个应用程序,它有一个向 UIView 支付数据的 segue,我需要在数字后面显示百分号,而且只有一个或两个小数位。正如您在下面看到的那样,我正在这样做,因为我无法从下面的第一个示例中使用“格式:”到第二个示例中执行相同的操作。

    var dailyUviString: String {
        return String(format: "%.1f", dailyUvi!)
    }
    var dailyPopString: String {
        return String("\(dailyPop!*100) %")
    }

有什么想法吗?

谢谢

【问题讨论】:

  • 使用 NumberFormatter

标签: swift uiview formatting label


【解决方案1】:

如果您想在格式中包含百分号,您只需添加两次:

var dailyPopString: String {
    String(format: "%.1f%%", dailyPop!*100)   // "50.0%"
}

另一种选择是使用NumberFormatter。请注意,当使用 NumberFormatter 并将 numberStyle 设置为 .percent 时,您不需要将值乘以 100:

let numberFormatter = NumberFormatter()
numberFormatter.minimumFractionDigits = 1
numberFormatter.maximumFractionDigits = 1
numberFormatter.numberStyle = .percent
numberFormatter.string(for: dailyPop!)  // "50.0%"

【讨论】:

  • 完美!很简单。 ??
猜你喜欢
  • 2014-10-12
  • 2019-08-27
  • 2014-10-24
  • 2011-07-12
  • 2014-08-24
  • 1970-01-01
  • 2017-09-25
  • 2017-06-26
  • 2022-11-18
相关资源
最近更新 更多