Swiftui 指定双格式

osc*_*car 5 format xcode specifier swift swiftui

Text("Värde \(Double(calc2, specifier: "%.2f").rounded())") 
Run Code Online (Sandbox Code Playgroud)

//错误

我正在转换一个Slider使用 double 类型的值,但我无法格式化指定它?我收到一个错误,xcode 告诉我使用信号(?)。我也试过把它放进一个Int

什么是正确的举动?

小智 17

您可以使用

\n\n
Text("V\xc3\xa4rde \\(calc2, specifier: "%.2f")") \n
Run Code Online (Sandbox Code Playgroud)\n\n

将其转换为 2 位小数。

\n\n

为了获得更大的灵活性,您可以使用格式化程序并利用appendInterpolation。使用下面的函数或类似的东西

\n\n
\nfunc customFormat(_ number: Double) -> String  {\n   let customFormatter = NumberFormatter()\n   customFormatter.roundingMode = .down\n   customFormatter.maximumFractionDigits = 2\n\n   return "\\(number, formatter: customFormatter)"   \n}\n\n
Run Code Online (Sandbox Code Playgroud)\n


Asp*_*eri 8

我假设你想要类似的东西

\n\n
Text("V\xc3\xa4rde \\(String(format: "%.2f", calc2))")\n
Run Code Online (Sandbox Code Playgroud)\n