2017-09-20 3 views
0

Ich möchte den Wert eines Schiebereglers in einem Etikett anzeigen. Das Label wird als Rate und der Schieber sliderrate ist, habe ich versucht, dies:Dezimalstellen werden nicht mit Swift angezeigt

@IBAction func sliderValueChanged(_ sender: UISlider) { 
    rate.text = String(round(sliderrate.value)) 
} 

Wie man sehen kann ich es um abzurunden versucht, die Dezimalstellen nicht angezeigt, aber es funktioniert nicht, ich habe noch eine Dezimalstelle. Kann jemand mir bitte helfen

Antwort

1

Swift's Rundungsfunktionen geben den gleichen Typ zurück, wie Sie in sie setzen. Wenn Sie also eine Double umrunden, erhalten Sie immer noch eine Double. Um die gerundete Zahl als ganze Zahl angezeigt werden, wandelt es in ein Int zuerst:

Int(slidernote.value.rounded()) 

Alternativ können Sie die lround Funktion aus der Standard-C-Bibliothek verwenden, die eine Int zurückgibt:

import Foundation 

lround(slidernote.value) 
+0

es funktioniert Vielen Dank – Mathias

Verwandte Themen