如何正确格式化字符串以填充 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
。请注意,当使用 NumberFormatter
且 numberStyle
设置为 .percent
时,您不需要将您的值乘以 100:
let numberFormatter = NumberFormatter()
numberFormatter.minimumFractionDigits = 1
numberFormatter.maximumFractionDigits = 1
numberFormatter.numberStyle = .percent
numberFormatter.string(for: dailyPop!) // "50.0%"
我有一个应用程序有一个向 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
。请注意,当使用 NumberFormatter
且 numberStyle
设置为 .percent
时,您不需要将您的值乘以 100:
let numberFormatter = NumberFormatter()
numberFormatter.minimumFractionDigits = 1
numberFormatter.maximumFractionDigits = 1
numberFormatter.numberStyle = .percent
numberFormatter.string(for: dailyPop!) // "50.0%"