Swift 中的字符串插值段错误 3

String Interpolation Segment Error in Swift 3

我最近将我的项目升级到 Swift 3,但一直遇到字符串插值错误的问题。

我的代码:

let coordString = "\(locationCoordinate.latitude) \(locationCoordinate.longitude)".stringByReplacingOccurrencesOfString(".", withString: ",")

错误说:

Static member 'init(stringInterpolationSegment:)' cannot be used on instance of type 'String'

如何解决错误?

该方法已在 Swift 3:

中重命名
let coordString = "\(locationCoordinate.latitude) \(locationCoordinate.longitude)".replacingOccurrences(of: ".", with: ",")    

使用replacingOccurrences(of...代替小数分隔符不是好的编程习惯。

您应该始终使用 NumberFormatter 以便能够考虑用户的当前语言环境。

这是一个例子。小数分隔符的显示取决于当前的语言环境。如果你真的想要明确的逗号,取消注释 locale 行并将区域设置标识符设置为你喜欢的。

let latitude = 52.5
let longitude = 13.0
let formatter = NumberFormatter()
formatter.numberStyle = .decimal
// formatter.locale = Locale(identifier: "DE_de")

let coordString = formatter.string(from: NSNumber(value:latitude))! + " " + formatter.string(from: NSNumber(value:longitude))!