У меня есть textFields, который содержит широту и долготу, и мне нужно всегда иметь на клавиатуре десятичной панели точку "."вместо запятой "," потому что, если регион iPhone пользователя не США или, например, Украина на клавиатуре десятичной клавиатуры, у меня запятая ",", и мое приложение падает.Как реализовать NumberFormatter, чтобы всегда иметь точку "."
Файл Swift для преобразования координат DMM текста textField формы в DM
import Foundation
import MapKit
func DMMtoDD(latDeg: Double, latMin: Double, latDir: String?, longDeg: Double, longMin: Double, longDir: String?) -> CLLocationCoordinate2D {
var latitude = CLLocationDegrees()
if latDeg > 0 {
latitude = CLLocationDegrees(latDeg + ((latMin*60)/3600))
if latDir == "S" {latitude *= -1}
}
else{
latitude = CLLocationDegrees((latDeg * -1) + ((latMin*60)/3600))
latitude *= -1
}
var longitude = CLLocationDegrees()
if longDeg > 0 {
longitude = CLLocationDegrees(longDeg + ((longMin*60)/3600))
if longDir == "W" {longitude *= -1}
}
else{
longitude = CLLocationDegrees((longDeg * -1) + ((longMin*60)/3600))
longitude *= -1
}
return CLLocationCoordinate2D(latitude: latitude, longitude: longitude)
}
ViewController
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let resultsVC = segue.destination as! ResultsViewController
let coord = DMMtoDD(latDeg: Double(latDegTextField.text!)!, latMin: Double(latMinutesTextField.text!)!, latDir: String(latPTextField.text!), longDeg: Double(longDegTextField.text!)!, longMin: Double(longMinutesTextField.text!)!, longDir: String(longPTextField.text!))
}
// КакЯ использую координаты в моем коде
let G16 = (tghaSun + coord.longitude).truncatingRemainder(dividingBy: 360.0)