2016-10-13 4 views
0

UISilder 값을 int 값으로 반올림하는 방법을 궁금합니다. 지금 그것은 수레를 표시하고 있습니다. 나는 순간 3을 사용하고있다.어떻게 신속하게 int에 UISlider를 반올림합니까

 @IBOutlet var slidermove: UISlider! 

    @IBAction func SliderVal(_ sender: AnyObject) { 

     print(slidermove) 
     let x = round(slidermove) 
    } 

라운드()가 오류를 줄 것이다 당신은

let x = roundf(slider.value) // x is Float 

당신이 필요하면 대신 UISlider 자체 : 값의 반올림한다

답변

3

을하는 데 도움이 사람에 대한 감사를 작동하지 않습니다 Int 대신 Float, 단지 지능 이니셜로 포장 :

let x = Int(round(slider.value)) // x is Int 
+0

이이 일을 도와 당신에게 알렉스 감사! 하지만 어떻게 마지막 소수점을 없앨까요? 예 : 10.0 ~ 10 – Puneet

+0

@ 푸네 네트 여러분 환영합니다. 업데이트 된 답변을 살펴보십시오. – alexburtnik

1

Float을 가장 가까운 정수로 반올림하고 으로 결과를 얻으려면 Int (아마도 그렇게 잘 알려지지 않은) 함수 lrintf() 을 사용할 수 있습니다. 예 : 귀하의 경우

let x = Float(12.6) 
let i = lrintf(x) 
print(i) // 13 

가 :

let i = lrintf(slider.value) // `i` is an `Int` 
+0

Martin R – Puneet

+0

@ Puneet : 슬라이더 값이 Double이 아닌 Float이기 때문에 오류가 발생했습니다. 이제 해결되었습니다. –

관련 문제