2016-10-13 10 views
0

UISilderの値をint値に丸める方法が不思議でした。今は浮きを表示しています。私は現時点でスイフト3を使用しています。UISliderを即座にintに丸める方法

 @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、ただのInt初期化子でそれをラップ:

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であるため、エラーが発生しました。それは今修正されました。 –

関連する問題