【问题标题】: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) %")
}
有什么想法吗?
谢谢
【问题讨论】:
标签:
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%"