Text("Värde \(Double(calc2, specifier: "%.2f").rounded())")
//错误
我正在转换一个Slider
使用双精度类型的值,但我无法指定它的格式?我收到一个错误,xcode 告诉我使用信号(?)。我也试过把它放进去Int
。
什么是正确的举动?
您可以使用
Text("Värde \(calc2, specifier: "%.2f")")
将其转换为 2 位小数。
为了获得更大的灵活性,您可以使用格式化程序并在字符串上利用appendInterpolation。使用下面的函数或其他东西来达到这个效果
func customFormat(_ number: Double) -> String {
let customFormatter = NumberFormatter()
customFormatter.roundingMode = .down
customFormatter.maximumFractionDigits = 2
return "\(number, formatter: customFormatter)"
}
我假设你想要类似的东西
Text("Värde \(String(format: "%.2f", calc2))")
问题是这Double(calc2, specifier: "%.2f")
是可选的
处理它,例如,使用Double(calc2, specifier: "%.2f")?.rounded() ?? 0.0