Text("Värde \(Double(calc2,specifier: "%.2f").rounded())")
//错误
我正在转换使用双精度类型的Slider
值,但是我不能用格式指定它吗?
我收到一个错误,并且xcode告诉我使用signaling(?)。我也尝试将其放入Int
中。
这里正确的举动是什么?
Text("Värde \(Double(calc2,specifier: "%.2f").rounded())")
//错误
我正在转换使用双精度类型的Slider
值,但是我不能用格式指定它吗?
我收到一个错误,并且xcode告诉我使用signaling(?)。我也尝试将其放入Int
中。
这里正确的举动是什么?
我想你想要类似的东西
Text("Värde \(String(format: "%.2f",calc2))")
,
问题是Double(calc2,specifier: "%.2f")
是可选的
要处理它,例如,使用Double(calc2,specifier: "%.2f")?.rounded() ?? 0.0
您可以使用
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)"
}