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))!
我最近将我的项目升级到 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))!