2017-01-21 9 views
0

Мне нужно отобразить текущую высоту в текущем приложении, которое я создаю. Тем не менее, когда определяется высота, метка отображается с помощью xxx.xxxxxxxxxxxx Она идет очень далеко по другую сторону от десятичной точки. Я только хочу, чтобы он дал не более двух чисел на другой стороне десятичной точки. Как это возможно?Как добавить вершины высоты

manager.delegate = self 
    manager.desiredAccuracy = kCLLocationAccuracyBest 
    manager.requestWhenInUseAuthorization() 
    manager.startUpdatingLocation() 

    func locationManager(_ manager: CLLocationManager,   didUpdateLocations locations: [CLLocation]) { 

    let location = locations [0] 

    self.speedLabel.text = String(location.speed) 


    self.altitudeLabel.text = String(location.altitude) 
    CLGeocoder().reverseGeocodeLocation(location) { (placemarks, error) in 

     if error != nil { 
      print(error!) 

     } 

Это мой текущий код.

Как я уже сказал, я только хочу, чтобы отобразить Altitude как "XX.XX" и не XX.XXXXXXXXX

+1

Использовать 'NumberFormatter' – vadian

ответ

0

Попробуйте это:

extension Double { 
    func decimal(places: Int) -> Double { 
     let resultString = NSString(format: "%.\(places)f" as NSString, self) as String 
     return Double(resultString)! 
    } 
} 

self.altitudeLabel.text = location.altitude.decimal (места: 2)

-2

Просто попробуйте:

self.altitudeLabel.text = String(format: "%.2f", location.altitude) 
+0

Научиться делать localiza . Используйте 'NumberFormatter'. – Sulthan