如何正确格式化字符串以填充 Swift 中的标签

How to correctly format strings to populate labels in Swift

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

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

有什么想法吗?

谢谢

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

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

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

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